Javascript Safari上的页面可见性HTML5 API

Javascript Safari上的页面可见性HTML5 API,javascript,html,safari,visibility,Javascript,Html,Safari,Visibility,我检查了一下,它说Safari支持它 但是,我的Pagevisibility实现在Safari 9上不起作用。它在其他任何地方都有效 见下文: document.addEventListener("visibilitychange", function() { if (document.hidden) { function1(); } else { function2(); } }); 在Safari中是否有一种特定的编码(JS)页面可视性的方法

我检查了一下,它说Safari支持它

但是,我的Pagevisibility实现在Safari 9上不起作用。它在其他任何地方都有效

见下文:

document.addEventListener("visibilitychange", function() {
  if (document.hidden) {     
     function1();
  } else {
     function2();
  } 
});
在Safari中是否有一种特定的编码(JS)页面可视性的方法

    var visibilityHidden, visibilityChange;
    // Opera 12.10 and Firefox 18 and later support 
    if (typeof document.hidden !== "undefined") {
        visibilityHidden = "hidden";
        visibilityChange = "visibilitychange";
    } else if (typeof document.mozHidden !== "undefined") {
        visibilityHidden = "mozHidden";
        visibilityChange = "mozvisibilitychange";
    } else if (typeof document.msHidden !== "undefined") {
        visibilityHidden = "msHidden";
        visibilityChange = "msvisibilitychange";
    } else if (typeof document.webkitHidden !== "undefined") {
        visibilityHidden = "webkitHidden";
        visibilityChange = "webkitvisibilitychange";
    }

    document.addEventListener(visibilityChange, function() {
      if (document[visibilityHidden]) {     
         function1();
      } else {
         function2();
      } 
    });

参考资料:

@Stephan你真的认为这有用吗?人们会在标签下搜索问题吗?此外,在编辑问题时,请确保修复了post中的所有内容。应使用visibilityChange变量,此代码无效。我修复了代码中的错误。在我的测试中,这似乎对Safari和其他产品有效。