JQuery позволяет только одну версию - PullRequest
3 голосов
/ 08 июня 2011

У меня есть сторонний скрипт, который включает jquery (что приводит к поломке). Я использую версию 1.6, а внешний скрипт использует более старую версию.

Как сделать так, чтобы загружалась только одна версия jquery, и это версия, которая у меня есть на странице, а не та, которая загружена извне?

Ответы [ 2 ]

5 голосов
/ 08 июня 2011

Это на самом деле довольно легко сделать, используя 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);

Вот более подробный пример и несколько дополнительных советов на этой странице .

1 голос
/ 08 июня 2011

ИСПОЛЬЗОВАТЬ .noConflict () вместо?
Пример:
У меня есть это в моем <head> внутри документа HTML:

<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>

И в моем скрипте jQ я называю его так:

jQuery16(document).ready(function($){


$('.textarea').text(' Hello World! ');



});

Я уверен, что мой скрипт не будет мешать внешнему, который использует какую-то другую / более старую версию jQuery.

...