我想检查浏览器是否支持hashchange
事件,如果不支持,则使用setInterval
.
我努力了
if ('onhashchange' in window) {
window.onhashchange = hashChange;
} else {
/* setInterval graceful degradation */
}
但问题是,在 IE7 兼容模式下的 IE8 中,'onhashchange' in window
返回true
是因为window.onhashchange
is null
( jsfiddle )
为什么会这样?如果我使用'onclick2' in window
,它会返回false
!
我已阅读Detecting support for a given JavaScript event? ,但如果可能的话,我更愿意使用更简单的东西。