最佳实践要求我的网站严重依赖于Jquery,以及来自谷歌CDN的JQuery UI,如果CDN由于某种原因失败,应该会有后备。
我的问题是,如何针对特定主题进行此操作?如果重要,我正在使用Redmond主题。
目前我计划使用类似的代码:
if(!jquery){//load local file instead; }
else if(!jquery.ui){//load local file instead; }
但是如果可能的话,我也希望从Google加载主题文件的后备。
有什么想法吗? :)
答案 0 :(得分:1)
if (typeof jQuery=='undefined') { //check if jQuery is loaded
console.log('no jQuery');
}else{ //if jQuery loaded
if (typeof jQuery.ui=='undefined') { //check if jQuery UI is loaded
console.log('no jQuery UI');
}
}
这是一个FIDDLE,切换左侧的库并检查控制台。
您需要一个间隔和一个超时来为库提供合理的加载时间。 如果未在几秒钟内加载,请改为包含您自己的文件,或者替换src属性以使用另一个CDN。 查看Google的分析代码或Facebook的插件等,了解如何在head部分插入新的脚本标记。
答案 1 :(得分:1)
它是一个资源加载器,也适用于CSS文件。试一试,这个例子出现在他们的网页上。
这也是一个重复的问题:
How to fallback to local stylesheet (not script) if CDN fails
答案 2 :(得分:0)
您可以包含CDN参考,测试关键对象,如果它未定义,则:
1)托管服务器上的文件(脚本和样式),如果CDN无法加载文件,则回退到这些文件。
2)** 推荐 **如果谷歌cdn无法正常加载,请使用现有的CDN(亚马逊易于使用)并回退到这些文件。