@hzy1123581324/z-view-ui
Version:
z-view-ui是使用vue3开发的组件,开发中,有部分组件功能未实现,慎用
110 lines (101 loc) • 3.05 kB
JavaScript
/**
* 监听浏览器切换窗口
*/
function changeWindowsTab() {
// chrome sougou
if ("webkitVisibilityState" in document) {
document.addEventListener("webkitvisibilitychange", () => {
if (document.webkitVisibilityState === "hidden") {
// 离开了,对数据进行处理,例如关闭流
window.postMessage({
leave: true
}, "*")
} else {
// 回来了,对数据处理,如开启流
window.postMessage({
leave: false
}, "*")
}
});
}
// IE
if ("msvisibilitychange" in document) {
document.addEventListener("msvisibilitychange", () => {
if (document.msVisibilityState === "hidden") {
// 离开了,对数据进行处理,例如关闭流
window.postMessage({
leave: true
}, "*")
} else {
// 回来了,对数据处理,如开启流
window.postMessage({
leave: false
}, "*")
}
});
}
// FF
if ("mozvisibilitychange" in document) {
document.addEventListener("mozvisibilitychange", () => {
if (document.mozVisibilityState === "hidden") {
// 离开了,对数据进行处理,例如关闭流
window.postMessage({
leave: true
}, "*")
} else {
// 回来了,对数据处理,如开启流
window.postMessage({
leave: false
}, "*")
}
});
}
}
// 实际应用
function changeTitle(title) {
// chrome
if ('webkitVisibilityState' in document) {
document.addEventListener('webkitvisibilitychange', () => {
if (document.webkitVisibilityState === 'hidden') {
// 离开了
document.title = '@_@ 崩溃了';
} else {
// 回来了
document.title = '>_< 又好了~';
setTimeout(() => {
document.title = title;
},500);
}
});
}
// IE
if ('msvisibilitychange' in document) {
document.addEventListener('msvisibilitychange', () => {
if (document.msVisibilityState === 'hidden') {
// 离开了
document.title = '@_@ 崩溃了';
}else{
// 回来了
document.title = '>_< 又好了~';
setTimeout(() => {
document.title = title;
},500);
}
});
}
// FF
if('mozvisibilitychange' in document) {
document.addEventListener('mozvisibilitychange', () => {
if (document.mozVisibilityState === 'hidden') {
// 离开了
document.title = '@_@ 崩溃了';
}else{
// 回来了
document.title = '>_< 又好了~';
setTimeout(() => {
document.title = title;
},500);
}
});
}
}