如何在另一个jQuery插件中包含一个外部插件

jon*_*aze 6 javascript jquery jquery-plugins include

我正在为我正在开发的项目构建一个自定义jQuery插件.我想返回一个自定义的对象到另一个jQuery插件...而不是必须确保使用我的插件的每个页面也有这个其他插件,是否可以将它包含在实际的插件本身?

而不是在使用我的插件的每个页面上键入以下内容:

<script type="text/javascript" src="url_to_my_plugin" />
<script type="text/javascript" src="url_to_plugin" />
Run Code Online (Sandbox Code Playgroud)

我想看看是否有一个选项可以允许以下内容:

(function($) {
          $.include('url_to_plugin');
          //code to implement my plugin
})(jQuery);
Run Code Online (Sandbox Code Playgroud)

感谢Marko的建议......我可能做错了,因为我引用的插件没有被识别.以下是我的代码:

(function($) {
     var script = document.createElement('script');
     script.type = 'text/javascript';
     script.src = 'jquery.simplemodal.js'; //in same dir as my plugin
     //tried both
     document.body.appendChild(script);
     document.getElementsByTagName('head')[0].appendChild(script);

     $.fn.SUI_CheckProgress = function(options) {
          return this.each(function() {
               var obj = $(this);
               var nDiv = $('<div>');
               nDiv.modal(); //error nDiv.modal() is not a function
               $(obj).append(nDiv);
          }
     };
});
Run Code Online (Sandbox Code Playgroud)

我尝试在实际函数调用的内部和外部声明脚本(理想情况是全局发生).如果我在我调用的页面中引用脚本,我验证代码是否正确执行,但是当我删除引用时它失败了.有关以编程方式向页面添加脚本的任何其他信息将不胜感激.

修复:我的问题是我引用了与js插件相同的目录,但是当它被添加到页面时它位于该目录之外.

script.src = 'jquery.simplemodal.js';
Run Code Online (Sandbox Code Playgroud)

固定

script.src = 'js/jquery.simplemodal.js';
Run Code Online (Sandbox Code Playgroud)

Mar*_*rko 2

当然 - 您可以创建一个新的脚本元素并将其附加到头部。

var script = document.createElement('script');
script.src = 'url-to-plugin';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,也许可以尝试此页面上的方法,这是使用setAttribute 的稍微不同的方法。