我使用的是一个“2步视图”,其中我有一个布局模板(对于所有页面来说都是如此),带有jQuery和一些插件的yepnope的加载(在html头中)。类似于:
yepnope(['/path/to/jquery.js', '/path/to/jquery.plugin-common.js']);有时,我需要另一个插件,所以在内部模板中,我做了额外的(在html正文中):
yepnope('/path/to/jquery.plugin-additional.js');现在我需要执行实际的js魔术,我可以安全地执行以下操作吗?
yepnope({
complete: function(){...}
});所以,问题其实有两个:
我试过了,但我并不完全意识到它是否是内部的,所以我只想确保我没有做错什么.提前谢谢。
--
最后一件事。手册在预加载下!说:
yepnope({
load: 'preload!jquery.1.5.0.js',
callback: function (url, result, key) {
window.jQuery; // undefined (but it's cached!);
}
});你能解释一下这是怎么回事吗?我完全忽略了这一点..。
发布于 2012-02-13 22:45:09
我可以帮你做预紧!有个问题。预加载的想法!是yepnope将下载该文件,但不会执行它。它传输jQuery文件,但是在调用回调之后,它仍然未定义,因为它没有作为脚本注入到页面中。
发布于 2012-07-18 15:55:18
在我看来,你做错了。我很惊讶它能工作,但也许您的脚本是在调用“完全”函数之前加载的。我觉得你应该这么做:
yepnope({
load: ['/path/to/jquery.js', '/path/to/jquery.plugin-common.js']
callback: {
"jquery.js": function () {
console.log("jquery loaded!");
},
"jquery.plugin-common.js": function () {
console.log("plugin loaded!");
}
}
});对于html正文中的附加插件:
yepnope({
load: '/path/to/jquery.plugin-additional.js'
callback: function () {
$(document).ready(function(){
console.log("plugin-additional loaded!");
});
}
});当然,用您可以在这个上下文中安全执行的每个插件相关的代码替换console.log()。
对于最后一个问题,我什么也不能说,因为我没有成功地做预加载!工作,也许是马车,也许我不明白它是怎么工作的.
https://stackoverflow.com/questions/7344843
复制相似问题