lea*_*anb 10 jquery jquery-ui requirejs requirejs-text
我有一个项目,它利用多个require上下文和动态加载的jQuery版本和插件.(jQuery版本将集中采购,不会内联).主机和每个上下文的jQuery完整性以及插件隔离都很关键.
我正在为RequireJS编写一个加载器插件来处理以下用例:
我有一个与测试的装载机为例项目在这里.
当我使用加载器进行第二次调用时,它在最后一个条件下失败,它正在吹走先前的版本.
我也使用eval将加载的插件中的$引用隔离到本地加载的jQuery版本范围.任何有关更好的方法的想法将不胜感激.
想要保持简单(愚蠢),如果有一个更简单/更清洁的解决方案.
非常感谢.
我还必须在插件中执行此操作。您应该查看http://api.jquery.com/jQuery.noConflict/。举个例子:
jQueryLocal = jQuery.noConflict(true);
Run Code Online (Sandbox Code Playgroud)
但您当然应该尽量避免加载多个 jQuery。例如,您可以检查是否已经加载了足够的版本(在我的例子中,我在加载任何内容之前检查了 1.9+ 是否可用,如果是,则将局部变量设置为对现有全局 jQuery 对象的简单引用,但是然后我没有使用插件。
您可以通过以下方式检查版本:
var jQueryLocal;
var versions = (jQuery && /^([0-9]+)\.([0-9]+)\./.exec( jQuery.fn.jquery )) || [0,0];
if( versions[0] > 1 || versions[1] >= 9 ) {
jQueryLocal = jQuery;
} else {
// load script with whatever you're doing. If it's asynchronous, set callbacks etc.
jQueryLocal = jQuery.noConflict(true);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
695 次 |
| 最近记录: |