javascript - DOMParser 在 IE9 中未定义

标签 javascript internet-explorer internet-explorer-9

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

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

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

最佳答案

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

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

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

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

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

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

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

希望对您有所帮助。

关于javascript - DOMParser 在 IE9 中未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6476733/

相关文章:

javascript - 缩短 jquery 脚本

jquery - 需要帮助追踪 jQuery 错误

css - 将 mvc 元素部署到 Win server 2008 r2 后,IE 9 border-radius 不起作用

css - 在 IE8 中水平居中 div

javascript 使用 Firefox/chrome 进行 WMI 查询?

Javascript "toggler"函数无法在 IE9 或 IE10 中运行(IE8 有后备),但可以在 IE11、Chrome、Firefox 中运行

javascript - 想要将 h1 更改为用户在单击提交按钮后在输入框中输入的文本

javascript - 限制多个表上单元格的选择

javascript - jQuery 单击外部关闭过滤器

css - 如何将桌面媒体查询样式应用于 IE?