为什么`'onhashchange'在IE8的IE7兼容模式的窗口“return”true中
Why does `'onhashchange' in window` return `true` in IE7 compat mode of IE8?
我想检查浏览器是否支持hashchange
事件,如果不支持,用setInterval
伪造它。
我试过
if ('onhashchange' in window) {
window.onhashchange = hashChange;
} else {
/* setInterval graceful degradation */
}
但问题是,在IE7 Compat模式下的IE8中,'onhashchange' in window
返回true
,因为window.onhashchange
是null
(jsfiddle)
为什么会发生这种情况?如果我使用'onclick2' in window
,它将返回false
!
我已经阅读了检测对给定JavaScript事件的支持?,但如果可能的话,我更喜欢用更简单的。
似乎'onhashchange' in window
是true
,因为我在IE7模式中使用IE8,而不是真正的IE7
但我刚刚在IETester上尝试过,'onhashchange' in window
给出了false
。
现在,我想知道如果IE8不能很好地模拟IE7,为什么它会有IE7模式
我不知道IE为什么会给你这个,但为什么不测试真正的
if(("onhashchange" in window) === true){
/* Supported */
}else{
/* Backup */
}
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 防止Iframe窗体在新窗口中打开
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 调整窗口大小时,可拖动的对象会出现在容器外部
- Javascript排序的图像弹出窗口..可以't单独弹出
- 窗口大小html css
- 弹出窗口出现,然后退出
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- Javascript更新孙窗口中的表单元素
- 如何在选项卡上定义属性'的主窗口对象
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- 召回窗口加载事件 - javascript
- 为什么不显示警报窗口
- 如何使用modalDialog来显示可以在所有浏览器中工作的弹出窗口
- Chrome应用程序调整窗口大小保持纵横比
- 新选项卡被弹出窗口阻止程序阻止
- 如何访问UIWebView'的子窗口上下文
- 刷新父窗口后无法关闭窗口
- 为什么`'onhashchange'在IE8的IE7兼容模式的窗口“return”true中
- 为什么构造函数(带“return this”)返回窗口对象?