我在Progress ABL容器上使用IE OCX,并通过在Windows注册表上添加新的DWORD条目(在FEATURE_BROWSER_EMULATION上)强制模拟IE10。我想在这个嵌入式浏览器上打开的Web文件包含jQuery 2.2.4版本,我收到脚本错误:
行:3573 [document.addEventListener(" DOMContentLoaded",已完成);],
Char:4,
错误:对象不支持属性或方法' addEventListener'
代码:0,
URL:filepath / jquery-2.2.4.js。
即使我强制模拟IE11并使用jQuery 2.x,同样的错误仍然存在。但是如果我使用jQuery 1.12.4则没有错误。仿真版本是正确的。这是微软网络浏览器ocx的问题吗?我的机器上有IE11。
任何帮助将不胜感激!谢谢!!
答案 0 :(得分:2)
FEATURE_BROWSER_EMULATION确实会更改userAgent。但我在我的旧网页上发现了doctype规范,如下所示:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
强迫浏览器以怪异模式呈现页面,因此发生了jquery错误。所以我找到了3种方法来解决这个问题(以确保标准模式):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE html>
”并遵循新网页的html5标准<meta http-equiv="X-UA-Compatible" content="IE=Edge">
这也非常有用:doctype overview
答案 1 :(得分:0)
您将需要使用jQuery的1.x分支,因为2.x分支删除了许多遗留代码,这些代码是与旧浏览器和IE(这是OCX控件将使用的)兼容所必需的< / p>