监听浏览器窗口切换
/**
* 切换浏览器窗口
*/
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}, "*")
}
});
}
}