2011-12-06 14 views
0

jqueryと一連のプラグインをローダー、つまりlabjsまたはyepnope.jsを使ってロードすることを検討しています。特定の名前空間にjqueryプラグインをロードする

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

これらのプラグインを(mynamespace.Jquery)を効率的に追加して変更することなく、これらのプラグインをどのように読み込むことができるか考えてみてください。?あなたが名前空間にそれらをロードするにはどうすればよい

答えて

1

は十分に簡単です:

(function(jQuery) { 

-- Plugin code here 

})(mynamespace.jQuery); 

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

プラグインを提供する必要があります。あなたは、あなたの望む名前空間の中に何らかの形でプラグインを動的にラップする必要があります。 PHPで

クイック擬似コードの答え:

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

(関数(jQueryの){

< = $ scriptFileContents>

?})(< = $ _REQUEST [ '名前空間']> jQueryの?。)。

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