Обернуть функцию jQuery - PullRequest
       19

Обернуть функцию jQuery

0 голосов
/ 17 сентября 2009

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

Пока я завернул все свои функции, кроме функции "jQuery":

myaddonname = {
    initialize: function() {
        var prefManager = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);

        if (document.getElementById("contentAreaContextMenu") != null) {
            document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", this.onContextMenuPopup(), false);
        }

        jQuery.noConflict();
    },

        .
        .
        .
        .
}

jQuery.noConflict и некоторые другие вызовы jQuery Ajax по-прежнему распакованы, есть ли способ сделать это?

Ответы [ 2 ]

2 голосов
/ 17 сентября 2009

Вы можете заключить код дополнения в анонимную функцию, получая и сохраняя в этой области объект jQuery:

(function ($) {
  // $ is available inside this scope

  window.myaddonname = { // global add-on namespace
    initialize: function() {
      //...
    }
    //...
  };
})(jQuery.noConflict()); // execute and pass a reference to jQuery

И если вы находитесь в очень среде с высоким конфликтом, вы можете использовать jQuery.noConflict(true) (экстремальный режим), но использовать его осторожно, с этим параметром window.jQuery объект не будет зарегистрирован, и большинство плагинов не будут работать ...

0 голосов
/ 17 сентября 2009

Если вы упаковываете jQuery вместе со своим кодом, вы также можете просто изменить код библиотеки, чтобы вставить его куда-нибудь полезное.

Чтобы сделать это вправо , вам нужно заменить все ваши вызовы jQuery. * На myadoon.jQuery ...

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