загрузка плагинов jquery в определенное пространство имен - PullRequest
0 голосов
/ 06 декабря 2011

Я рассматриваю загрузку jquery и серии плагинов через загрузчик, т.е. labjs или yepnope.js.

Я хочу загрузить плагины jquery в пользовательское пространство имен jquery, если это возможно, без их изменения.

Любая идея, как можно загрузить эти плагины без необходимости их изменения, добавив (mynamespace.Jquery) эффективно ?

1 Ответ

1 голос
/ 01 ноября 2012

Как вы можете загрузить их в пространство имен достаточно просто:

(function(jQuery) {

-- Plugin code here

})(mynamespace.jQuery);

Вторая часть вашего вопроса немного сложнее.Скажем, ваш плагин находится на сервере по адресу http://www.mysite.com/javascript/jquery.fancybox.js

Вам придется обслуживать плагин.Вам нужно будет как-то динамически обернуть плагин в желаемое пространство имен.

Быстрый ответ псевдокода в php:

  1. Пример запроса: http://www.mysite.com/plugin.php?script=jquery.fancybox&namespace=mynamespace
  2. В файле plugin.php прочитайте содержимое файла JS из параметра $ _REQUEST ['script']
  3. Выведите содержимое файла в оболочку, например,

(function (jQuery) {

<? = $ scriptFileContents?>

}) (<? = $ _REQUEST ['namespace']?>. jQuery);

И очевидно вы собираетесь экранировать входные параметры, чтобы не допустить атаки XSS, верно?

...