我使用Visual Studio 2013将一个混合Asp.Net Webforms/MVC 3网站应用程序迁移到了Asp.Net Webforms/MVC 5.1。在迁移过程中,我使用NuGet包管理器将Jquery从1.9.1升级到2.1.1。
在Chrome浏览器中,在Visual Studio 2013调试器中运行该应用程序时,没有问题。
但是,在IE 9中(兼容模式未开启)使用Visual Studio 2013调试器运行应用程序时,首先加载了一个包含两个脚本标记的主页面:
<script src="/Scripts/jquery-2.1.1.js" type="text/javascript"></script>
<script src="/Scripts/jquery-ui-1.10.4.js" type="text/javascript"></script>
它出现了这个JavaScript错误:
Unhandled exception at line 3425, column 4 in http://localhost:25378/Scripts/jquery-2.1.1.js
0x800a01b6 - Microsoft JScript runtime error: Object doesn't support property or method 'addEventListener'
我知道Jquery 2不支持IE 8及以下版本,但是我没有找到任何文档提到在IE 9上会出现问题。
错误发生在jquery-2.1.1.js的第3425行,jQuery.ready.promise函数内部:
document.addEventListener( "DOMContentLoaded", completed, false );
奇怪的是,当我停在错误处时,在调试器中检查文档对象并展开“方法”节点,我可以看到“addEventListener”方法。似乎Jquery没有权限看到该方法。
我非常希望升级到Jquery 2,根据我所读的所有内容,Jquery 2应该与IE9兼容。有关修复此问题的任何建议吗?
<!DOCTYPE html>
吗? - wirey00<meta http-equiv="X-UA-Compatible" content="IE=edge">
。 - wirey00