【问题标题】:DOMParser is undefined in IE9DOMParser 在 IE9 中未定义
【发布时间】:2011-06-25 08:31:46
【问题描述】:

我在使用 IE9 时遇到了一种非常奇怪的错误。当我在本地主机上的 jsp 页面中使用 DOMParser 时,它运行得非常好并给出了正确的结果。

但令人震惊的是,当我在普通 HTML 文件中使用 DOMParser 时(不在服务器上。来自文件系统),我收到“DOMParser 未定义”的烦人消息。这是什么以及如何使它工作?谢谢。

附:它在 FF 和 Chrome 上运行良好

【问题讨论】:

  • 从文件系统访问文件时可能取决于不同的安全设置
  • 抱歉回复晚了,我得去上班了。我已经在我的虚拟机上检查了它,它在默认设置下工作。您确定您的 IE9 正在 IE9 模式下运行吗?

标签: javascript internet-explorer internet-explorer-9


【解决方案1】:

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

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

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

好的,这就是它正在做的事情。但它为什么这样做呢?在 IE(IE8 和 IE9)中有一个配置设置,指定浏览器在本地 Intranet 上浏览站点时应进入兼容模式。存在此设置的原因是允许拥有为旧版本 IE 设计的内部站点的公司升级到新版本,而不会破坏这些站点。它旨在让那些在损坏的版本足够好的情况下不愿花钱修复某些东西的公司类型更容易做到这一点。

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

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

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

希望对您有所帮助。

【讨论】:

  • 我已经想出了解决方案。但对 IE7.js 的反应和建议都很棒。万分感谢。 +1+最佳答案
【解决方案2】:

我在 IE9 上收到此错误“DOMParser is undefined”,结果证明它是一个被禁用的附加组件。

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

工具 - 管理加载项 - Microsoft Corporation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-14
    • 1970-01-01
    • 2011-09-06
    • 1970-01-01
    相关资源
    最近更新 更多