Yepnope后退

时间:2014-04-19 14:47:15

标签: javascript jquery cdn yepnope

我正在尝试使用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'});

我该如何解决?谢谢。

1 个答案:

答案 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'});
            }
        }
    }
]);