我正在尝试使用yepnope处理公共CDN的后备。
示例代码:
yepnope([
{
load: [
'http://tinymce.cachefly.net/4.0/tinymce.min.js'
],
complete: function(){
if (typeof(tinymce) === 'undefined') {
yepnope('/js/tinymce.min.js');
};
tinymce.init({selector:'textarea'});
}
}
]);
代码基本上正常工作。当公共CDN失败时,它将加载本地脚本。但问题是,它不会等待本地脚本加载并继续执行。在此示例代码中,它在加载本地tinymce脚本之前运行tinymce.init({selector:'textarea'});
。
我该如何解决?谢谢。
答案 0 :(得分:3)
yepnope
是异步的,必须等待加载的任何内容都必须在complete
选项中完成。
yepnope([
{
load: [
'http://tinymce.cachefly.net/4.0/tinymce.min.js'
],
complete: function(){
if (typeof(tinymce) === 'undefined') {
yepnope([
{
load: ['/js/tinymce.min.js'],
complete: function() {
tinymce.init({selector: 'textarea'});
}
}
]);
} else {
tinymce.init({selector:'textarea'});
}
}
}
]);