jqueryを含むサードパーティのスクリプトがあります(これにより、問題が発生します)。1.6 バージョンを使用していますが、外部スクリプトは古いバージョンを使用しています。
jquery の 1 つのバージョンのみがロードされ、それが外部からロードされたバージョンではなく、ページにあるバージョンであることを強制するにはどうすればよいですか?
jqueryを含むサードパーティのスクリプトがあります(これにより、問題が発生します)。1.6 バージョンを使用していますが、外部スクリプトは古いバージョンを使用しています。
jquery の 1 つのバージョンのみがロードされ、それが外部からロードされたバージョンではなく、ページにあるバージョンであることを強制するにはどうすればよいですか?
jquery.noConfict(); を使用すると、これは実際には非常に簡単に実行できます。
<script src='jquery-1.6.js'></script>
<script>
var jq16 = jQuery.noConflict();
</script>
<script src='jquery-1.4.2.js'></script>
<script>
var jq142 = jQuery.noConflict();
</script>
次に、次のように関数に $() 名前空間を使用させることができます。
(function($) {
$('<button>Use jQuery 1.4.2</button>')
.click(function() {
alert('Top: ' + $(this).offset().top + '\n' +
'jQuery: ' + $.fn.jquery);
})
.appendTo('body');
})(jq142);
このページには、より詳細な例といくつかの追加のヒントがあります。
USE .noConflict() instead?
Ex:
I have this into my <head>
inside the HTML document:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script>
<script type="text/javascript">
jQuery.noConflict()
jQuery16 = jQuery
</script>
And into my jQ script I call it like:
jQuery16(document).ready(function($){
$('.textarea').text(' Hello World! ');
});
Doing so I'm shure that MY script will not interfer with an external that uses some other / older version of jQuery.