0

ローダー、つまりlabjsまたはyepnope.jsを介してjqueryと一連のプラグインをロードすることを検討しています。

可能であれば、jquery プラグインを変更せずにカスタム jquery 名前空間にロードしたいと考えています。

(mynamespace.Jquery) を効率的に追加することで、これらのプラグインを変更せずにロードする方法はありますか?

4

1 に答える 1

1

それらを名前空間にロードする方法は簡単です。

(function(jQuery) {

-- Plugin code here

})(mynamespace.jQuery);

あなたの質問の2番目の部分は少し難しいです。プラグインがhttp://www.mysite.com/javascript/jquery.fancybox.jsのサーバーにあるとします。

プラグインを提供する必要があります。目的の名前空間内で何らかの方法でプラグインを動的にラップする必要があります。

PHPでの簡単な疑似コードの回答:

  1. リクエストの例は、 http://www.mysite.com/plugin.php?script=jquery.fancybox&namespace=mynamespaceです。
  2. plugin.php で、$_REQUEST['script'] パラメータから JS ファイルの内容を読み込みます
  3. ファイルの内容をラッパーに出力します。

(関数(jQuery) {

< ?= $scriptFileContents ?>

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

そして明らかに、XSS 攻撃を許可しないように入力パラメーターをエスケープするつもりですよね?

于 2012-10-31T23:04:07.763 に答える