让我们想象一个需要加载javascript文件的网页(即my.js
)。是否可以组织以下故障转移加载序列?
my.js
。my.js
。my.js
。如果是,如何进行?感谢。
P.S。:我刚刚找到yepnopejs。有人推荐它吗?
答案 0 :(得分:3)
我已经看到这种技术允许在CDN关闭时进行回退。 如果你的js文件有一些可测试的属性,比如一个全局变量(我把它称为标记),你可以尝试从服务器A加载文件,测试标记,如果找不到脚本则再试一次。
<script type="text/javascript" src="http://server_A.tld/my.js"></script>
<script type="text/javascript">
if( !window.marker ) {
document.write(
'<script type="text\/javascript" src="http:\/\/server_B.tld\/my.js"><\/script>'
);
}
</script>
更新 所有脚本都没有使用这种技术运行的危险。 John Resig explains this in a blog post.。脚本可以按任何顺序并行下载,但必须按顺序执行。