jQuery.noConflict()它有效吗?在同一页面上加载多个jquery文件

时间:2012-08-20 13:15:31

标签: jquery html

尽管在stackoverflow中提供了许多解决方案,但它们似乎都没有工作。我发现很多人在网上抱怨这个。如何在同一页面上加载2个不同的jquery文件?或者一些解决方法。对我而言,它只是在页面上调用的那个。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script>
var jq162 = jQuery.noConflict();
</script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script>
var jq151 = jQuery.noConflict();
</script> 

我也尝试了这个:

<script type="text/javascript">

      (function(){

        var myBkl = {
                 jq: null,
                 loadScript: function(src) {
                        if(window.jQuery && window.jQuery.fn.jquery == '1.6.2'){
                                return;
                        }
                        var s = document.createElement('script');
                        s.setAttribute('src', src);
                        s.setAttribute('type', 'text/javascript');
                        document.getElementsByTagName('head')[0].appendChild(s); 
                },
                whenLoaded: function(callback){
                        if (typeof(window.jQuery) !== 'undefined' && window.jQuery.fn.jquery == '1.6.2') { 
                                myBkl.jq = window.jQuery.noConflict(true);
                                callback(myBkl.jq); 
                        } 
                        else {
                                setTimeout((function() {myBkl.whenLoaded(callback); }), 100);
                        } 
                },
                init: function($){
                        console.log($.fn.jquery);
                        console.log(window.jQuery.fn.jquery);
                }
        };
        myBkl.loadScript('http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js');
        myBkl.whenLoaded(myBkl.init);

})();
</script>

1 个答案:

答案 0 :(得分:0)

为什么首先需要2个不同版本的jQuery?

我很确定你可以让所有东西都能用1.6.2(给出一些非常小的变化,比如prop()...)