2010-09-12 60 views
0

嘿,有没有一种方法来指定一个回退js,以防从YUI CDN加载失败?YUI:如果从CDN加载脚本失败,指定回退?

+1

“CDN失败了”这里有点偏执吗? – 2010-09-12 04:35:47

+0

哈哈是的,这不是一个可能性,但它仍然是一个有趣的问题。更有可能我自己的一个脚本将无法加载:P。 – stevebot 2010-09-12 04:40:47

+0

@Yi Jiang //我也可以理解......我们已经在本地服务器上获得了脚本,并且每隔一段时间我们都会捕获一个我们引用Google CDN的地方......不可避免地,外部世界(通常使用IE6,开机)会打电话抱怨! – brandonjp 2011-05-15 22:33:01

回答

1

最简单的解决方案是检查脚本创建的全局对象/函数的存在。例如,对于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元素,并链接到您选择的另一个来源。