2011-06-25 38 views
7

我在IE9中遇到了一个非常奇怪的错误。当我在localhost的jsp页面中使用DOMParser时,它运行得非常好,并给出正确的结果。但是令人震惊的是,当我在一个普通的HTML文件中使用DOMParser时(不是在服务器上,从文件系统中),我得到了这个令人讨厌的消息:“DOMParser is undefined”。这是什么以及如何使它工作?谢谢。DOMParser在IE9中未定义

P.S.它工作正常FF和Chrome

+0

可以从文件系统 –

+0

访问文件时,我该如何检查的依赖于不同的安全设置设置? – mihsathe

+0

对不起,迟到的答案,我不得不去上班。我在虚拟机上检查过它,它在默认设置下工作。你确定你的IE9运行在IE9模式下吗? –

回答

9

我想说,这几乎肯定是在浏览本地URL时浏览器以兼容模式运行。

您可以通过打开开发工具(按F12)并查看右上角来检查该问题;如果它说它是在IE7模式下,那么你已经发现了这个问题。切换回正常的IE9模式,它应该是正确的。

IE7不支持DomParser对象,所以如果IE9在IE7兼容模式下,它自然也会停止支持它。

好吧,这就是它在做什么。但为什么这样做呢?在IE(IE8和IE9)中有一个配置设置,它指定浏览器在浏览本地Intranet上的站点时应该进入兼容模式。现有这种设置的原因是为了允许内部网站设计用于旧版IE的公司在不破坏这些网站的情况下升级到新版本。它旨在让企业类型变得更容易,因为当破解版本足够好时,宁愿不花钱来修复某些东西。

但是这对我们其他人来说是一种痛苦。

显然,如果您的站点位于公共互联网上,它不会受到此标志的影响,除非您尝试从您自己的PC上的本地主机上处理它。因此,您的解决方案是简单地关闭浏览器中的此配置设置并忘记它。

当然,IE7的用户仍然会对您的网站有这个问题,因为他们的浏览器不支持您使用的功能。你可以放弃对IE7的支持,并告诉这些用户升级。但是如果你想支持IE7用户,我相信Dean Edwards的IE7.js脚本允许浏览器模仿这个功能(以及微软忘记的其他一些东西)。

希望有所帮助。

+0

我已经想出了解决方案。但令人敬畏的回应和对IE7.js的伟大建议。万分感谢。 + 1 +最佳答案 – mihsathe

1

我收到了这个错误,“DOMParser is undefined”,在IE9上,它竟然是一个被禁用的插件。

名称XML DOM文档 出版商微软公司 状态已启用

工具 - 管理加载项 - 微软公司