2017-07-28 169 views
0

此代碼適用於Firefox,但不適用於Chrome。代碼適用於Firefox,但不適用於Chrome

我使用的是Chrome瀏覽器,因此​​工作正常。

$(function(){ 
    $("#header").load("header.html"); 
}); 


$(document).ready(function(){ 
    $('#notif').text("5"); 
} 

當我使用chrome進行調試時,代碼執行正常,但沒有在<span id="notif"></span>中插入任何內容。

在我的header.html中的<span id="notif"></span>是用JS動態加載的。

同樣,它在Firefox中可以正常工作,但在Chrome中無法正常工作。

+1

你能發佈一個鏈接到你的網頁嗎? –

+1

jquery的加載方法是異步的。所以我認爲文檔準備就緒時加載沒有完成。 – Bee157

+0

在頁面加載時是否包含'list_notif',或者頁面加載之後是否包含XHR(AJAX)?如果通過XHR,有沒有網絡錯誤? –

回答

2

加載是異步的,所以文檔將在加載結束之前準備好(並已觸發)。 $('#notif')在文檔準備就緒時不存在,因爲它尚未加載。

$(function(){ 
    $("#header").load("header.html",function(){ 
    $('#notif').text('5'); 
    }); 
}); 

不是第二個參數,匿名函數將在成功完成加載後啓動。

firefox和chrome的區別可能與下載速度有關,但我不是100%確定的。需要更多的測試。

有時(特別是IE)通過斷點調試代碼,可能會導致document.ready觸發器有足夠的延遲來完成加載。所以沒有發現「故障」。

相關問題