我正在使用“两步 View ”,其中我有一个布局模板(所有页面通用),其中包含 yepnope 的 jQuery 加载(在 html 头中)和一些插件。像这样的东西:
yepnope(['/path/to/jquery.js', '/path/to/jquery.plugin-common.js']);
有时我需要另一个插件,所以在内部模板中我做了额外的(在 html 主体中):
yepnope('/path/to/jquery.plugin-additional.js');
现在我需要做真正的 js 魔术,我可以安全地做:
yepnope({
complete: function(){...}
});
所以,问题其实有两个:
是否在全局资源堆栈加载完成时触发 complete 回调?因此,假设所有需要的资源之前都已注册,那么在任何地方“注册”这个完整的回调是安全的吗?
我可以只使用“完成”回调选项安全地调用 yepnope 吗?我的意思是,只要我没有“测试”任何东西并且我的资源已经注册了...
我已经尝试过它并且它有效,但我不完全知道它是否是内部结构,所以我只是想确保我没有做错什么......提前致谢。
--
还有最后一件事。 manual在 preload! 下说:
yepnope({
load: 'preload!jquery.1.5.0.js',
callback: function (url, result, key) {
window.jQuery; // undefined (but it's cached!);
}
});
你能解释一下这是怎么回事吗?我完全错过了这里的重点......
最佳答案
我可以在预加载方面提供帮助!问题。 预加载的想法!是 yepnope 将下载文件但不会执行它。 它传输 jQuery 文件,但在调用回调后它仍然是未定义的,因为它没有作为脚本注入(inject)页面。
关于是的,完整的回调问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7344843/