2017-04-11 75 views
7

我使用下面的代碼:對象不支持屬性或方法「的indexOf」

<html> 
<head> 
    <title></title> 
    <script src="jquery-3.2.0.js"></script> 

</head> 
<body> 
    <script type="text/javascript"> 
     $(window).load(function() { 
      alert('Window loaded'); 
     }); 

     $(document).ready(function() { 
      alert('DOM Loaded and ready'); 
     }); 
    </script> 
</body> 
</html> 

它如此簡單,但我得到的錯誤

"Object doesn't support property or method 'indexOf'". 

我使用Internet Explorer

這是什麼原因?

+2

你用什麼版本的IE,因爲IE <9不支持的indexOf。嘗試'inArray' –

+0

使用jQuery版本1.x舊版本的ie – madalinivascu

回答

8

load函數已在1.8中被棄用,在3.0中被刪除。使用on方法,而不是

<html> 
 
<head> 
 
    <title></title> 
 
    <script src="https://code.jquery.com/jquery-3.2.0.min.js"></script> 
 

 
</head> 
 
<body> 
 
    <script> 
 
     $(window).on("load",function() { 
 
      alert('Window loaded'); 
 
     }); 
 
    </script> 
 
</body> 
 
</html>

https://blog.jquery.com/2016/06/09/jquery-3-0-final-released/

刪除過時事件別名

.load,.unload和.error,因爲jQuery的1.8過時,是不再。使用.on()註冊偵聽器。

+0

我現在沒有收到錯誤。你說得對,加載方法已被棄用。 雖然現在window.on方法在document.ready之前觸發了一個新問題。 據說window.ready會在window.load之前觸發,因爲window.load會等待所有的圖像加載,而document.ready函數會在DOM準備就緒時立即觸發。 但現在這不適用。 有什麼建議嗎? – Abbas

0

$(window).load(function() { 
 
      alert('Window loaded'); 
 
     }); 
 

 
     $(document).ready(function() { 
 
      alert('DOM Loaded and ready'); 
 
     });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 

 

相關問題