2

我在 Progress ABL 容器上使用 IE OCX,并通过在 Windows 注册表上(在 FEATURE_BROWSER_EMULATION 上)添加新的 DWORD 条目来强制模拟 IE10。我想在这个嵌入式浏览器上打开的 web 文件包括 jQuery 版本 2.2.4,我收到脚本错误:

行:3573 [document.addEventListener(“DOMContentLoaded”,已完成);],
字符:4,
错误:对象不支持属性或方法 'addEventListener'
代码:0,
URL:filepath/jquery-2.2.4.js。

即使我强制模拟 IE11 并使用 jQuery 2.x,同样的错误仍然存​​在。但是如果我使用 jQuery 1.12.4 就没有错误。模拟版本是正确的。那是微软网络浏览器ocx的问题吗?我的机器上有 IE11。

任何帮助,将不胜感激!谢谢!!

4

2 回答 2

2

FEATURE_BROWSER_EMULATION 确实改变了 userAgent。但是我在我的旧网页上发现了这样的文档类型规范:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">强制浏览器以怪癖模式呈现页面,因此发生了 jquery 错误。所以我找到了3种方法来解决这个问题(以确保标准模式):

  1. 使用<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. 对新网页使用 ' <!DOCTYPE html>' 并遵循 html5 标准
  3. 指定元标记:<meta http-equiv="X-UA-Compatible" content="IE=Edge">

这也很有帮助:doctype overview

于 2016-07-20T10:29:01.260 回答
0

您将需要使用 jQuery 的 1.x 分支,因为 2.x 分支删除了许多与旧浏览器和 IE 兼容所需的遗留代码(这是 OCX 控件将使用的)

于 2016-07-06T10:31:34.980 回答