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