我的一个页面(包含大量 javascript)无法在 IE9 上加载。但在 Mozilla、Chrome、Safari 和 Opera 上均可正常加载。
如果 IE9 开发工具正在运行,它可以正常加载。
如果我加载 IE9,加载开发人员工具(F12),然后关闭开发人员工具,它仍然可以正常加载。
如果开发工具正在运行,那么有时(但不总是)控制台中的第一条消息是:
HTML1113: Document mode restart from Quirks to IE9 Standards
文档类型为:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
如果我将 doctype 更改为 并删除 xmlns,则不会发生任何变化。
我被难住了。任何建议都值得感激。
答案1
您是否使用console
对象及其方法?IE9 仅在您打开开发人员工具时实例化它,任何试图在不检查它是否存在的情况下对其进行索引的尝试显然都会失败。简单的解决方法是console.log
在代码开始时为最常用的函数安装空对象和空存根。
答案2
看IE9 的文档模式和 JavaScript有关 IE 不同文档模式的信息。设置文档模式可能会解决问题,但您的网页将无法在早期版本的 IE 中工作。您可能需要反复缩小 JavaScript 中的问题范围并对其进行修改以使其在 IE 中工作。