2014-07-02 240 views
7

使用Visual Studio 2013,我將一個混合的Asp.Net Webforms/MVC 3 Web應用程序遷移到Asp .Net Webforms/MVC 5.1。作爲遷移的一部分,我使用NuGet包管理器將Jquery從1.9.1升級到2.1.1。IE9中的Jquery 2.1.1獲取錯誤:0x800a01b6 - Microsoft JScript運行時錯誤:對象不支持屬性或方法'addEventListener'

當我在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.ready.promise函數內部jQuery的2.1.1.js的3425線發生ROR:

document.addEventListener("DOMContentLoaded", completed, false); 

奇怪的是,當我停在了錯誤,請檢查在調試器的文檔對象和擴大「的方法「節點我可以看到」addEventListener「方法。就好像Jquery沒有權利去看這個方法。

我非常想升級到Jquery 2,並且從我讀過的所有內容中,Jquery 2都應該能夠使用IE9。有關解決此問題的任何建議?

+0

的jQuery 2.1的API是相同的jQuery 1.11;唯一的好處是文件大小。嘗試切換到1.11.1 – Blazemonger

+0

我意識到這一點。我想切換到Jquery 2的原因正是由於文件較小。我想知道爲什麼它在IE9中失敗了。根據我讀過的所有內容,它應該可以與IE9一起使用。 –

+0

你有定義的文檔類型嗎?你有沒有試過html5'<!DOCTYPE html>'? –

回答

9

謝謝ᾠῗᵲ您的意見ᄐᶌ和QBM5,在這種情況下,答案是去除

<meta http-equiv="X-UA-Compatible" content="IE=8"> 
從母版頁頁眉

,因爲它把瀏覽器變成IE 8兼容模式,而IE 8與JQuery 2不兼容。

8

我在VS2013 Ultimate中遇到了一個全新的Web應用程序的錯誤。原來IE11是在兼容模式下運行 - 關閉這個擺脫了錯誤

1

我在IE8中使用JQuery時遇到了類似的異常。並找到解決方案

<head id="Head1" runat="server"> 
    <!--[if lt IE 9]> 
     <script src="/js/trirand/jquery-1.11.1.min.js" type="text/javascript"></script> 
    <![endif]--> 

    <!--[if gt IE 8]> 
     <script src="/js/trirand/jquery-2.1.1.min.js" type="text/javascript"></script> 
     <![endif]--> 
</head> 

如果需要,您可以更改版本。

從代碼:IE8和較小的版本支持jQuery1X版本

Jquery2x版本在IE9和更高版本的工作。

好運

1

你可以在你的web配置文件中添加以下代碼設置文件方式:

<system.webServer> 
    <httpProtocol> 
    <customHeaders> 
    <add name="X-UA-Compatible" value="IE=EmulateIE9" /> 
    </customHeaders> 
</httpProtocol> 
</system.webServer> 
相關問題