2012-07-26 102 views
0

我正在使用jQuery(1.7.1),並且需要運行在IE7中的UI代碼。所有現代瀏覽器都沒有問題,IE8也沒問題。JQuery document.ready僅在IE7中觸發多次

這個問題似乎是文件準備好多次發射,並導致性能問題。這似乎也是網站上各種頁面的一個問題,其JS代碼複雜程度各不相同。我已經讀過異常會導致這種行爲,但我不認爲異常是問題(通過一些全局異常捕獲代碼進行驗證)。

$(document).ready(function() { 

    alert('doc ready'); 

    do stuff.... 
}); 

上述代碼導致我在UI凍結之前多次看到'doc ready'警告。

這是jQuery中的一個已知問題,是否有辦法補救IE7?

感謝

更新...試圖孤立的問題,我用最簡單的頁面可能測試,這個簡單的頁面不會重現該問題...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title>Test JQUery IE7</title> 

    <script type="text/javascript" src="/Scripts/jquery-1.7.1.min.js"></script> 

</head> 
    <body> 

     <script type="text/javascript"> 

     $(document).ready(function() { 

      alert('doc ready...'); 

     }); 

     </script> 
    </body> 
</html> 
+2

我遇到這個的時候有在頁面上破碎的形象前的頻率。如果URL指向某處,則表示沒有圖像,則會加載該網站的默認頁面。不管什麼問題,都值得檢查一下。 – Archer 2012-07-26 14:32:22

+0

您可以創建一個在您的IE7中「無法正常工作」的jsfiddle嗎? – insertusernamehere 2012-07-26 14:40:59

回答

0

的問題是實際上$(window).resize函數似乎在IE7中更頻繁地觸發。當然,IE7只是在每個事件上運行面向UI的JS而掙扎。

設置定時器/間隔時間限制,該事件被起訴上解決了這個問題