2

ページで複数のjqueryバージョンを使用することに関する質問には、すでにさまざまな回答があることを認識していますが、それらを適用する方法を理解できていません.

私のページには 2 つの .js ファイルがあります。1 つは折りたたみ可能なメニューを操作するためのもので、もう 1 つはシックボックス ギャラリーを操作するためのものです。ギャラリーを追加すると、折りたたみ可能なメニューが機能しなくなりました。以下のリンクから競合しないソリューションを使用しようとすると、メニューは機能しましたが、ギャラリーの画像が読み込まれなくなりました。

http://api.jquery.com/jQuery.noConflict/

私が間違っていることのアイデアはありますか?.html ファイルと .js ファイルの両方に何かを追加する必要がありますか?

コード:

<script type="text/javascript" src="../../01 Main/includes/jquery-1.6.min.js"></script>
<script type="text/javascript" src="../../01 Main/includes/main.js"></script>
<script type="text/javascript">
<div id="log">
  <h3>Before $.noConflict(true)</h3>
</div>
</script>

<script type="text/javascript" src="../scripts/jquery-latest.js"></script>
<script type="text/javascript" src="../scripts/thickbox.js"></script>
<script type="text/javascript">
var $log = $( "#log" );

$log.append( "2nd loaded jQuery version ($): " + $.fn.jquery + "<br>" );

jq16min = jQuery.noConflict(true);

$log.append( "<h3>After $.noConflict(true)</h3>" );
$log.append( "1st loaded jQuery version ($): " + $.fn.jquery + "<br>" );
$log.append( "2nd loaded jQuery version (jqlatest): " + jqlatest.fn.jquery + "<br>" );
</script>

も試しました:

<script type="text/javascript" src="../../01 Main/includes/jquery-1.6.min.js"></script>
<script type="text/javascript" src="../../01 Main/includes/main.js"></script>
<script type="text/javascript">
var jQuery_1_6_min = $.noConflict(true);
</script>

<script type="text/javascript" src="../scripts/jquery-latest.js"></script>
<script type="text/javascript" src="../scripts/thickbox.js"></script>
<script type="text/javascript">
var jQuery_latest = $.noConflict(true);
</script>
4

2 に答える 2

4

複数のバージョンのjqueryを使用することはまったく賢明ではないようですが、必要に応じて、バージョンの1つを別のグローバル変数に割り当てることができます。つまり、最初のバージョンにリンクすることができます。

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
window._$ = jQuery; 

次に、次のバージョンをロードします。

(function(){
  var newscript = document.createElement('script');
     newscript.type = 'text/javascript';
     newscript.async = true;
     newscript.src = 'https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js';
  (document.getElementsByTagName('head')[0]||document.getElementsByTagName('body')[0]).appendChild(newscript);
})();
于 2013-02-28T03:47:16.220 に答える
3

同じページで複数のバージョンの jQueryを使用できますか?

彼の答えを要約すると:

<!-- load jQuery 1.1.3 -->
<script type="text/javascript" src="http://example.com/jquery-1.1.3.js"></script>
<script type="text/javascript">
var jQuery_1_1_3 = $.noConflict(true);
</script>

<!-- load jQuery 1.3.2 -->
<script type="text/javascript" src="http://example.com/jquery-1.3.2.js"></script>
<script type="text/javascript">
var jQuery_1_3_2 = $.noConflict(true);
</script>

同じことを経験しなければならなかった:)

于 2013-02-28T03:53:57.893 に答える