2011-11-18 61 views
0

我有一個頁面加載了Jquery和Prototype。 (我不知道訂單,並沒有此頁面的控制)Javascript:檢測JS庫的加載順序

<script type="text/javascript" src="jquery-1.4.4.min.js"></script> 
<script type="text/javascript" src="prototype.js"></script> 

<script type="text/javascript" src="prototype.js"></script> 
<script type="text/javascript" src="jquery-1.4.4.min.js"></script> 

在同一頁之後,我才能嵌入自己的代碼。我需要知道加載這2個庫的順序。例如,如果原型庫首先被加載,那麼做這個否則做。

如何用jQuery或純JavaScript來做到這一點?

+1

它爲什麼重要哪一個是第一?您可以等待文檔準備就緒,或者直接獲取數組中的所有腳本元素,然後循環查找哪一個腳本首先使用javascript。如果首先加載哪一個,那麼你不想使用jQuery,而是純JavaScript。 – James

+1

也許如果你能解釋爲什麼訂單很重要,你會得到一個更好的答案 – Ibu

回答

3

這應該有所幫助;

if (jQuery === $) { 
     alert("jQuery later"); 
    } 
    else { 
     alert("Prototype later"); 
    } 
+0

這個工程。謝謝!! :) – RoundOutTooSoon

1

如果需要,以免jQuery之間的衝突和物質不會原型是什麼樣的順序,他們在被裝:

jQuery.noConflict(); //will return $ to what it had been before jQuery was added 
(function ($) { 
    //jQuery aliased to $ for use within anonymous closure 
}(jQuery)); 

jQuery(function ($) { 
    //jQuery aliased to $ for use within $(document).ready shortcut 
}); 
+1

我不知道你的情況如何,但原型代碼加載後,我的頁面上的原型代碼不起作用在jquery lib和jQuery.noConflict()之後被調用。 我也在玩這個,也發現了加載順序問題。你可以在這裏看到更多:http://docs.jquery.com/Using_jQuery_with_Other_Libraries,並向下滾動到「包括其他庫之前的JQUERY」 – RoundOutTooSoon