将jquery插件加载到特定的命名空间

loading jquery plugins into a specific namespace

本文关键字:命名空间 jquery 插件 加载      更新时间:2023-09-26

我正在考虑通过加载器加载jquery和一系列插件,即labjs或yepnope.js。

我想加载jquery插件到一个自定义的jquery命名空间,如果可能的话,不修改它们。

任何想法我可以加载这些插件,而不必修改他们通过添加一个(mynamspace . jquery) 有效?

如何将它们加载到名称空间中很简单:

(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& = mynamespace
  2. 在plugin.php中,从$ _REQUEST["脚本"]参数
  3. 在包装器中输出文件内容,例如

(函数(jQuery) {

& lt;?= $scriptFileContents ?>

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

显然要转义输入参数以防止XSS攻击,对吗?