我编写了一个依赖于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。
最好的问候。
答案 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);
});
让我知道它是否有效