0

我编写了一个依赖于 jQuery 的 JavaScript 组件。这里的问题是,我想以这样一种方式提供组件,即使用我的组件的用户不必关心依赖关系(如 jquery);用户只需要将我的脚本包含到 html 文件中。另一个问题是,用户可能在他自己的脚本中使用 jQuery,因此包含了多个 jQuery 实例。

我的解决方案是这样的:

var myscope = (function () {

    // PASTE the minfied jQuery Code (and plugins) here!!!
    var $ = jQuery.noConflict(true);

    return { // public stuff

    }

})();

你有什么建议或想法可以做得更好吗?

//编辑:用户甚至不应该知道(除非他阅读了我的组件的源代码)该组件依赖于 jquery。

此致。

4

1 回答 1

0

根据我的评论...

var removejQuery = false;
if (typeof jQuery == 'undefined') { 
    document.write(unescape("%3Cscript src='URL to jquery' type='text/javascript'%3E%3C/script%3E")); 
    removejQuery = true;
}

jQuery(document).ready(function($) {
   //your library here

    if (removejQuery) $.noConflict(true);
});

让我知道它是否有效

于 2013-07-12T16:30:05.073 回答