0
嘿,有没有一种方法来指定一个回退js,以防从YUI CDN加载失败?YUI:如果从CDN加载脚本失败,指定回退?
嘿,有没有一种方法来指定一个回退js,以防从YUI CDN加载失败?YUI:如果从CDN加载脚本失败,指定回退?
最简单的解决方案是检查脚本创建的全局对象/函数的存在。例如,对于jQuery的这将是
typeof jQuery === 'undefined';
和YUI我相信是
typeof YUI === 'undefined';
然后,你可能会想尝试一些其他的方式注入脚本,像
if(typeof YUI === 'undefined'){
var head = document.getElementsByTagName('head')[0];
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "some/other/source.js";
head.appendChild(script);
}
这将在您的head
中创建一个新的script
元素,并链接到您选择的另一个来源。
“CDN失败了”这里有点偏执吗? – 2010-09-12 04:35:47
哈哈是的,这不是一个可能性,但它仍然是一个有趣的问题。更有可能我自己的一个脚本将无法加载:P。 – stevebot 2010-09-12 04:40:47
@Yi Jiang //我也可以理解......我们已经在本地服务器上获得了脚本,并且每隔一段时间我们都会捕获一个我们引用Google CDN的地方......不可避免地,外部世界(通常使用IE6,开机)会打电话抱怨! – brandonjp 2011-05-15 22:33:01