在自己的模块中嵌入jQuery

时间:2013-07-12 15:54:31

标签: javascript jquery

我编写了一个依赖于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。

最好的问候。

1 个答案:

答案 0 :(得分: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);
});

让我知道它是否有效