2013-04-21 51 views
-2

我一直在這個特定的網站上有這個問題,但它開始影響整體體驗。 jQuery並不總是正常工作。例如,我有一個使用Jquery的自定義下拉頁面。大多數情況下,它會加載10%的時間點擊按鈕,div不顯示。我真的不知道我的網站發生了什麼。jQuery並不總是加載

+0

如果您正在使用$(function(){..}),那麼聲音就像窗口準備就緒,不會加載。句法。使用chrome的網絡檢查器來查看是否有任何資源阻止頁面完全加載,就像我在使用$(document).ready(function(){..)時託管在另一個域 – Bryan 2013-04-21 00:47:46

+0

上的JavaScript文件不會有什麼區別。 });? – user1933224 2013-04-21 00:51:22

+0

你指出的方式是我所說的,他們都做同樣的事情。你需要找到的重要的事情是在你的javascript被允許觸發之前,你是否在等待外部資源。你有一個示例URL? – Bryan 2013-04-21 01:05:27

回答

0

你鏈接到谷歌CDN上的jQuery嗎?如果沒有你,你應該See here as to why.

谷歌的CDN幾乎總是起來,但它仍然是很好的做法,總是有jQuery的備份本地副本也是如此。這段代碼首先鏈接到谷歌的CDN版本。如果出於任何原因失敗,它將加載您的本地副本。這應該修復任何jQuery不加載的可能性。

如上所述,在文檔準備好之前,您還應確保不啓動自定義下拉菜單。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
<script> 
if (!window.jQuery) { 
    document.write('<script src="/path/to/your/jquery.min.js"><\/script>'); 
} 

$(document).ready(function() { 
    $('#yourDropdown').customDropdown(); 
}); 
</script> 
+0

我有一個問題,我包括通過PHP文件,我包括的文件也有一個<腳本src =「...」>可能這就是爲什麼它有時不會'工作? – user1933224 2013-04-21 00:55:01

+0

如果沒有看到源代碼,就很難調試。如果你甚至可以從本地開發頁面複製頁面源代碼,這將有所幫助。爲什麼它只能有效地工作的一個原因是,如果您的網頁包含不同的小部件,可能包括jQuery的舊版本。這將覆蓋之前包含的任何版本(所以如果您的下拉腳本需要jQuery 1.6,但較舊的小部件包含jquery 1.4,則會破壞它)。再次,很難調試沒有看到任何源代碼。 – Buck 2013-04-21 04:26:59

相關問題