Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Internet Explorer 8 JS错误:';window.toolbar.visible';是否为null或不是对象_Javascript_Internet Explorer - Fatal编程技术网

Javascript Internet Explorer 8 JS错误:';window.toolbar.visible';是否为null或不是对象

Javascript Internet Explorer 8 JS错误:';window.toolbar.visible';是否为null或不是对象,javascript,internet-explorer,Javascript,Internet Explorer,我有以下代码,用于在没有工具栏或菜单栏的窗口中加载网站内的页面时进行检查(还有其他一些检查,如移动设备和用户代理,但我在这里不详细说明): 它在任何地方都可以正常工作,但Internet Explorer 8返回以下错误: 'window.toolbar.visible'为空或不是对象 (也适用于window.menubar.visible) 我找不到IE8的替代品。有什么帮助吗? 附加问题:是否有一个像样的Javascript引用,但对于InternetExplorer 感谢您阅读并思考此问题

我有以下代码,用于在没有工具栏或菜单栏的窗口中加载网站内的页面时进行检查(还有其他一些检查,如移动设备和用户代理,但我在这里不详细说明):

它在任何地方都可以正常工作,但Internet Explorer 8返回以下错误:
'window.toolbar.visible'为空或不是对象

(也适用于
window.menubar.visible

我找不到IE8的替代品。有什么帮助吗?
附加问题:是否有一个像样的Javascript引用,但对于InternetExplorer


感谢您阅读并思考此问题。

IE没有
窗口。工具栏
窗口。菜单栏
,我也看不到任何可供选择的选项

通过在测试对象属性之前测试对象,可以使您的检查不会引发错误,例如:

if ((window.toolbar && window.toolbar.visible)
    || (window.menubar && window.menubar.visible)) {  
    // do some stuff  
}
附加问题:除了Internet Explorer之外,有没有像Mozilla那样的Javascript参考


我认为MSDN是你要做的最好的。如果您正在寻找IE特定品牌的JavaScript和DOM对象的信息源,那么没有更好的源了。导航是一件痛苦的事情,但是…

“额外的问题:除了Internet Explorer之外,有没有像Mozilla那样的Javascript引用?”有。使用
!==true是检查布尔值的奇怪方法。为什么要进行显式的严格比较?与简单的
if(window.toolbar.visible | | | window.menubar.visible)相反
?(可能是离题了,我怀疑它会改变结果,只是觉得很奇怪。)@TJ:MSDN的格式和eas的导航没有MDC那么优雅。@Mrchief:True(这说明了一点,因为MDC在这方面也不太出色)。但是如果你正在寻找IE特定品牌的JavaScript和DOM支持的信息源,没有更好的源了。是的,MSDN有点差劲,但它也是我能找到的关于IE特定品牌的JavaScript和DOM支持的唯一参考。我检查布尔值的奇怪方法可能是php的一个习惯,其中一些函数可以返回0,但不一定是false(比如strpos)。但无论如何,这不会改变任何事情p这解释了为什么两个对象都为null。选择此项作为答案是因为1)您的代码允许在IE8中绕过此项无法完成的检查,2)您回答了奖金问题。谢谢@尤莫拉莱斯:不用担心,很高兴这有帮助。(我也将奖金答案复制到了答案中。)
if ((window.toolbar && window.toolbar.visible)
    || (window.menubar && window.menubar.visible)) {  
    // do some stuff  
}