条件应该是什么,以便在切换选项卡时调用d.fx.pause();
,而不是在关闭选项卡时调用(因为在我的情况下它是无用的)。
window.addEventListener("beforeunload", function() {
/* NOT USED */
console.log("1: beforeunload, could ask for confirmation", document.hidden);
});
document.addEventListener("visibilitychange", function() {
/* pause when switching away, but not when unloading */
const condition = true; // ?
console.log("2: visibilitychange", document.hidden);
if (document.hidden && condition) {
//d.fx.pause();
}
});
window.addEventListener("unload", function() {
console.log("3: unload", document.hidden);
});
答案 0 :(得分:1)
您可以在beforeunload
事件中添加一个标记,然后在visibilitychange
中进行检查。
e.g。
var unloading = false;
window.addEventListener("beforeunload", function() {
unloading = true;
/* NOT USED */
console.log("1: beforeunload, could ask for confirmation", document.hidden);
});
document.addEventListener("visibilitychange", function() {
/* pause when switching away, but not when unloading */
const condition = true; // ?
console.log("2: visibilitychange", document.hidden);
if (!unloading && document.hidden && condition) {
//d.fx.pause();
console.log("d.fx.pause()");
}
});
window.addEventListener("unload", function() {
console.log("3: unload", document.hidden);
});