HOW TO:两种不同的jQuery在同一页上 - 该网页将包含有最新的jQuery

我有一个页面是PHP包括在任何地方的愿望,而该页面使用jQuery 1.4.4。 (我会让使用它,甚至从官方的jQuery图书馆的来源,但......“最新”),我无法控制的东西是user's-网站jQuery库的版本。 或者即使用户具有的jQuery可言。

我做了一些测试,包括我的网页成有旧的jQuery网站 - 有涉及到冲突。

这是要包括在脚本的一个例子。 我无法使这项工作:

.... PHP代码....

.... HTML头.....

<script type="text/javascript"> var jQ144 = jQuery.noConflict(true);</script> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> <script type="text/javascript"> jQ144(document).ready(function($){ $(".helpPlease").hover(function(){ $(this).animate({height:'250px'}, { queue:false, duration:400 }); },function(){ $(".helpPlease").animate({height:'17px'}, { queue:false, duration:400 }); });

...(上代码只是举例)...更多代码........

}); </script>

这是行不通的。

有没有什么办法来检查,如果页面已经jQuery的? 如果旧的 - 启动新代码 - 在我的网页jQuery库? 还是......如何做到让新的'覆盖',哥哥?

还是我做错了什么? 我尝试了所有在网上,但没有结果描述了许多建议。

提前致谢! :)

--------------解决方案-------------

如果包括jQuery的,它需要在$ 变量 ,创建jQuery类。 $恰好是jQuery的一个参考。 因此,当你有一个较旧的/不同版本的jQuery的的,它实际上是“覆盖”(替换)jQuery的类。

经测试,其工作原理:(去掉true在noConflict调用参数)

<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
jQuery.noConflict( )
jQuery144 = jQuery
console.log(jQuery144, jQuery)
</script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
<script type="text/javascript">
jQuery144(function($) {
console.log("hello", $.fn.jquery)
})
jQuery(function($) {
console.log("world", $.fn.jquery)
})
</script>
</head>
<body>
</body>
</html>

编辑2:有,你就需要在脑海的一个重要问题。 在内部,jQuery的自称是window.jQuery 。 当您再次包括jQuery的,你重新定义window.jQuery ,但在第一个版本的呼吁,在运行时绑定,而不是在定义的时候,所以它可能是最古老的版本jQuery的一些内部通话将被中取得实际最新的一个。 意识到。

分类:jQuery的 时间:2015-03-15 人气:0
本文关键词: jQuery的
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.449 (s). 10 q(s)