Как управлять Jquery в SharePoint, чтобы избежать конфликтов с другими версиями jquery - PullRequest
3 голосов
/ 12 августа 2011

В настоящее время я разрабатываю веб-часть для SharePoint.Я использую JQuery в моей веб-части.Пользователи установят мою веб-часть и будут использовать ее на сайте sharepoint.Я новичок в JQuery.Я имею в виду несколько недоразумений.

1) Предположим, что на сайте SharePoint уже установлен какой-то другой веб-компонент.Итак, как именно я собираюсь управлять и использовать JQuery и Jquery UI, чтобы он не конфликтовал с другим плагином Jquery / JQuery UI, используемым другими веб-частями (от других поставщиков) на странице.

2) Не могли бы вы объяснить, как именно две разные версии JQuery / Jquery UI могут работать на одной странице.Я использую jQuery v1.5 и JQuery UI v1.8.

В настоящее время я включаю jquery и jquery Ui lib, используя код ниже, и все работает, когда я пишу код с использованием $ (селектор) .opetaions ().opetaions ()… .. но я имею в виду вышеупомянутые заблуждения.

public static void IncludeScript(Page page, String key, String location)
        {
            if (!page.ClientScript.IsClientScriptIncludeRegistered(key))
                page.ClientScript.RegisterClientScriptInclude(key, location);
        }

        public static void LoadCSS(Page page, String src)
        {
            HtmlLink css = new HtmlLink();
            css.Href = src;

            css.Attributes["rel"] = "stylesheet";
            css.Attributes["type"] = "text/css";
            css.Attributes["media"] = "all";

            page.Header.Controls.Add(css);
        }

Все, пожалуйста, направьте меня, поделившись своими мыслями.

Спасибо.

Ответы [ 2 ]

3 голосов
/ 12 августа 2011

Здесь на самом деле есть несколько рисков:

  1. риск конфликта с другими версиями jQuery
  2. риск стереть плагин jQuery, уже установленный другой веб-частью (или самой страницей)
  3. риск того, что другая веб-часть (или сама страница) сотрет плагин jQuery, установленный вашей веб-частью

Чтобы предотвратить 3 /, вы можете использовать noConflict (true) в своем собственном коде (обратите внимание на аргумент «true»): http://api.jquery.com/jQuery.noConflict/

Для предотвращения 1 / и 2 / вам нужно проверить, присутствует ли (window.jQuery) на странице, прежде чем загружать вашу собственную версию.

1 голос
/ 12 августа 2011

Да, вы можете использовать несколько версий jQuery.Смотрите это сообщение:

Могу ли я использовать несколько версий jQuery на одной странице?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...