2011-11-18 109 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