2012-01-05 65 views
1

我已經排除故障,其中一個動態插入<script>加載失敗本身並運行它的代碼只頁面被訪問每幾次的HTML頁面。什麼情況會導致IE8偶爾不加載腳本?

然而,在不被調試經驗豐富無比,我已經用完了的地方看看,或者需要檢查的事項或注意。

任何人都可以提出什麼情況或原因可能會導致IE8,但 IE9,「忘記」運行動態插入,外部JavaScript文件只每隔幾互訪?

任何想法,將不勝感激。

UPDATE

按照要求,這裏是片段的簡化集合我有他們執行的方式:

  1. CMS模板與加載頁面的Prototype.js在<head> - 我不能修改頭部。

  2. HTML只是內部<body>標籤是由瀏覽器解析:

    <!--[if (gte IE 6)&(lte IE 8)]> 
        /* THE SCRIPT BELOW IS THE ONE RANDOMLY BEING DROPPED BY IE7/8 */ 
        <script src="/file_uploads/selectivizr.js"></script> 
    <![endif]--> 
    <!--[if lt IE 9]> 
        /* THESE SCRIPTS BELOW ALWAYS WORK, AND ARE NEVER DROPPED */ 
        <script src="/file_uploads/html5.js"></script> 
        <script src="/file_uploads/iemq.js"></script> 
    <![endif]--> 
    
  3. 頁面加載正常,<script>只是</body>之前執行:

    <script type="text/javascript"> 
        document.observe('dom:loaded', function() { 
         var myContent = document.getElementById('myContent').innerHTML; 
         document.body.innerHTML = myContent; // FYI: Excludes this script 
         document.stopObserving("dom:loaded"); 
        }); 
    </script> 
    

4:主體內容已現已被替換爲響應式佈局工作所需的內容。

注意:我們無法修改<head>也不任何東西<body>之外。

注意:selectivizr.js使用AJAX重新加載頁面上使用的所有外部CSS樣式表,並後處理DOM。

+0

你如何添加該腳本?我們可以看到代碼嗎? – 2012-01-05 21:39:19

+0

您可以在加載之前添加'javascript:alert('腳本加載')',並在確認腳本實際啓動並完成加載後添加'javascript:alert('腳本完成加載')''。如果您在腳本本身中添加更多警報,您可以通過這種方式進行調試,以查看其失敗的位置。 – Dallas 2012-01-06 03:07:47

+0

@ ime-vidas剛剛添加了上下文/示例。 – atwixtor 2012-01-09 19:23:34

回答

0

瀏覽器與您的服務器之間的網絡問題。一直都在我身邊。我得到的頁面的CSS文件沒有加載和頁面可怕的混亂因此。

相關問題