jQuery插件:限制对其他库的脚本标记引用

时间:2010-11-23 18:44:43

标签: javascript jquery

我即将创建一个jQuery插件,但我正在考虑使用其他一些库。现在它易于使用我想知道是否有方法限制我必须添加的脚本标记引用量。

我考虑的选项很少:

1:将库代码包含在插件代码中。不确定这是否可行?它会增加插件的大小。

2:我刚刚阅读了google.loader,所以我对此还不太了解。看起来像是一种可以使用Google API从代码中加载库的方法。它确实需要一个API密钥,所以这可能不适合所有人。

所以StackOverflow,您如何处理这个问题?

1 个答案:

答案 0 :(得分:1)

我不会在插件中包含其他库,没有人想使用一个隐藏包含的插件,可能会破坏主程序的外部库。

如果您正在寻找一种无需手动添加脚本标记即可包含脚本的方法,您可以尝试使用jQuery.loadScript或者来自closure / google或YUI的任何等效方法。

这是我曾经使用过的另一种简单方法:

function loadScript( url, callback ) {
    var done = false,
        script = document.createElement('script');

    script.src = url;
    script.async = true;

   // Attach handlers for all browsers
   script.onload = script.onreadystatechange = function() {
       if ( !done && (!this.readyState ||
           this.readyState == 'loaded' || this.readyState == 'complete') ) {
           done = true;

           if (typeof callback == 'function') {
               callback.call( window, script );
           }

           // Handle memory leak in IE
           script.onload = script.onreadystatechange = null;
       }
   };

   var s = document.getElementsByTagName( 'script' )[0];
   s.parentNode.insertBefore( script, s );
};