2013-10-03 52 views
-1

每當我嘗試運行JavaScript的選擇時,我總是會在IE7,8或9中獲得以下控制檯錯誤。但是,它在任何其他瀏覽器中都能正常工作。Javascript在IE7,8,9中返回控制檯錯誤,但在其他所有瀏覽器中都能正常工作?

SCRIPT438: Object doesn't support property or method 'addEventListener' 
jquery-2.0.3.min.js, line 3 character 6105 
SCRIPT5009: 'jQuery' is undefined 
jquery.animate-colors.js, line 8 character 1 
SCRIPT5007: The value of the property '$' is null or undefined, not a Function object 
localhost, line 100 character 2 

查找我試圖運行下面的代碼(淘汰不重要的代碼,jQuery是之前任何插件的加載)。

<script> 

$(window).load(function() { 

    $("#titleFirstname").delay(200).fadeIn(500); 
    $("#titleLastname").delay(450).fadeIn(500); 

    $("#enterSite").delay(650).fadeIn(500); 

    $("#enterSite").hover(function() { 
     $(this).animate({backgroundColor: 'rgba(255, 255, 255, 0.5)'}, 100) 
    }, function() { 
     $(this).animate({backgroundColor: 'rgba(255, 255, 255, 0.2)'}, 100) 
    }); 

    $("#footer").delay(500).animate({bottom: '5px'}); 

}); 

</script> 


<div id="primaryContainer"> 
    <div id="titleFirstname"> 
     TEXT 
    </div> 

    <div id="titleLastname"> 
     TEXT 
    </div> 

    <a href="#"> 
     <div id="enterSite"> 
      ENTER SITE 
     </div> 
    </a> 

</div> 
+11

該版本的jQuery不支持oldIE。切換到oldIE友好版本1.10.2 –

+2

jquery 2.x.x不支持舊IE? – adeneo

+2

來自2.0發行說明的@adeneo:_As承諾,此版本留下較舊的Internet Explorer 6,7和8瀏覽器......_和_jQuery團隊仍支持在IE 6/7上運行的1.x分支/8._ – Mathletics

回答

2

與jQuery 1.10,jQuery庫分成兩個不同的分支:jQuery 1.10.x和jQuery 2 。X。兩個分支正在同時更新並支持完全相同的公共API。兩者之間的差異是2.x將不再支持IE6/7/8,而1.10.x將繼續支持IE6/7/8,直到所有三個版本的市場份額低於不存在值得再次測試(這很可能不會很快發生)。

除非您不想支持oldIE,否則請使用jQuery 1.10.2。

對於oldIE和2.x來說,使用條件註釋包括1.10.2對於現代瀏覽器可能是值得的,但對於所有人來說,包括1.10.2也是可以接受的。

0

jQuery顯示未定義的事實,讓我覺得它沒有正確地被引用到它的庫。另一個跡象是「$」拋出一個錯誤。你如何引用jQuery庫,並且在你試圖運行函數之前引用它?支持,

+0

它沒有被定義,因爲它在設置'window。$'和'window.jQuery'之前出錯了。 –

+0

這就是爲什麼我認爲沒有被正確引用。它可能不支持它的功能,但基本的jQuery功能應該仍然運行不應該嗎?您只需摸索與IE版本不兼容的功能。它甚至不承認jQuery正在運行或加載。例如,較新的jQuery函數會失敗。 – Casey

+0

由於oldIe不支持addEventListener,因此無法綁定到文檔就緒事件。該特定行在設置全局變量的行之前,因此全局變量從未設置。 –

相關問題