我正在尝试检查浏览器是否支持onHashChange,或者如果不支持,则不从其中隐藏一些代码:

if(window.onhashchange){
    ...code...
} else {
   ...other code...
}

我也尝试过这个:
if(typeof window.onhashchange === "function"){
    alert("Supports");
} else {
    alert("Doesn't Supports");
}

上所述,Quirksmode 应该可以工作,但是如果我在alert中的true state中执行了Safari而不是提醒我,但Safari不支持onHashChange:S

有什么问题吗?如果我的方法不正确,应该如何检查?

最佳答案

您可以使用in运算符检测到此事件:

if ("onhashchange" in window) {
  //...
}

也可以看看:
  • onhashchange-MDC
  • Detecting event support without browser sniffing
  • Emulating onhashchange without setInterval
  • 关于JavaScript : onHashchange Test,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4030390/

    10-11 14:47