использование нескольких версий jquery-ui - PullRequest
3 голосов
/ 15 июня 2011

У нас есть сайты, использующие пользовательский интерфейс jQuery, и на одном из них есть фрагменты с другого сайта.Эти части построены на Jquery UI Accordion, но я не могу загрузить обе версии пользовательского интерфейса.Один из них - кастомная сборка 1.8.11, другой - полная версия (полная не загружается)

есть предложения?

Ответы [ 3 ]

4 голосов
/ 06 февраля 2013

Понял это через час.По какой-то причине никто не объяснил это в Интернете.

Сначала вы называете версию jQuery, с которой хотите столкнуться:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script type="text/javascript">
  var $jnine = jQuery.noConflict();
</script>

В этом случае я вызвал новый jQuery $jnine, со ссылкой на номер версии.

Теперь вам нужно отредактировать jquery-ui-1.10.0.custom.min.js .Это на самом деле очень просто.Откройте его в своем любимом текстовом редакторе, который поддерживает поиск и замену.Notepad ++, на мой взгляд, самый лучший.

Теперь вы будете искать (jQuery), чувствительный к регистру, и заменить его на ($jnine) Затем сохраните файл где угодно и запустите его на своем сайте ПОСЛЕ noConflict() функция была запущена.

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script type="text/javascript">
  var $jnine = jQuery.noConflict();
</script>

<script src="js/jquery-ui-1.10.0.custom_jnine.min.js"></script>

Теперь вы можете вызывать все пользовательские функции jQuery и jQuery с помощью $jnine

Напоминание: важно запустить этот сценарий ДО того, как другие jQueries будутзагружены, если они не были также noConflicted.

1 голос
/ 05 апреля 2013

Другой вариант - загрузить пользовательский интерфейс в свой собственный контекст.

<script language="javascript" type="text/javascript">
   var smartDonationsOldJQuery=jQuery;
   var smartDonationsOldCashSign=$;
</script>

<script language="javascript" type="text/javascript" src="http://rednao.com/wp-content/plugins/smartdonations/js/jquery-1.9.1.min.js"></script>
<script language="javascript" type="text/javascript" src="http://rednao.com/wp-content/plugins/smartdonations/js/jquery-ui-1.10.2.custom.js"></script>

<script language="javascript" type="text/javascript">
    var rnSDJQ=jQuery;
    window.jQuery =smartDonationsOldJQuery;
    window.$ = smartDonationsOldCashSign;
</script>

Хорошая вещь об этом состоит в том, что у вас будет собственная копия jquery / jquery-ui, выделенная из остального кода (это действительно хорошо, если вы создаете компоненты, такие как компоненты WordPress), плохо то, что вы Придется снова загружать jquery.

Больше информации здесь (заявление об отказе, я написал): Использование нескольких версий jquery ui

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

Пожалуйста, прочитайте документацию по JQUERY UI. Вы не можете использовать две версии пользовательского интерфейса без указания КОНТЕКСТА для каждой.

Это позволяет вам использовать несколько пользовательских интерфейсов на одной странице, например.

Плохая новость заключается в том, что после того, как файл сгенерирован, вы не можете затем добавить контекст.

Я не уверен, но я думаю, что в файлах javascript, связанных с пользовательским интерфейсом, есть ссылка, которая приведет вас на страницу сборки пользовательского интерфейса JQUERY, и там вы сможете восстановить пользовательский интерфейс с контекстом.

...