Javascript 浏览器关闭不会触发safari上的visibilityChange
我试图在用户关闭浏览器时保存一些统计信息,下面是代码Javascript 浏览器关闭不会触发safari上的visibilityChange,javascript,jquery,safari,visibilitychange,Javascript,Jquery,Safari,Visibilitychange,我试图在用户关闭浏览器时保存一些统计信息,下面是代码 if (typeof document.hidden !== 'undefined') { // Opera 12.10 and Firefox 18 and later support hidden = 'hidden'; visibilityChange = 'visibilitychange'; } else if (typeof document.mozHidden !== 'undefined
if (typeof document.hidden !== 'undefined') { // Opera 12.10 and Firefox 18 and later support
hidden = 'hidden';
visibilityChange = 'visibilitychange';
} else if (typeof document.mozHidden !== 'undefined') {
hidden = 'mozHidden';
visibilityChange = 'mozvisibilitychange';
} else if (typeof document.msHidden !== "undefined") {
hidden = 'msHidden';
visibilityChange = 'msvisibilitychange';
} else if (typeof document.webkitHidden !== 'undefined') {
hidden = 'webkitHidden';
visibilityChange = 'webkitvisibilitychange';
} else {
console.log('in else condition');
}
if (typeof document.addEventListener === 'undefined' || hidden === undefined) {
console.log("App requires a browser, such as Google Chrome or Firefox, that supports the Page Visibility API.");
} else {
document.addEventListener(visibilityChange, handleVisibilityChange, false);
}
function handleVisibilityChange() {
// Send a ajax call with **async: false**
}
上面的代码在mozilla firefox、google chrome中运行良好,但在safari中不起作用。我正在Mac Os上测试,safari版本是12.1.1版(14607.2.6.1.1)
请问这是否是safari中的预期行为,以及作为解决方法可以做些什么
谢谢