gpt4 book ai didi

javascript - 如何为 css 文件实现 CDN 故障保护?

转载 作者:行者123 更新时间:2023-11-27 23:57:58 25 4
gpt4 key购买 nike

对于托管在 CDN 上的 javascript,我总是可以在它下面添加一些脚本来检查它是否加载成功:

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script>
if (!window.jQuery) {
var script = document.createElement('script');
script.src = "/js/jquery.min.js";
document.body.appendChild(script);
}
</script>

我还使用了一些托管的 css 文件,比如 bootstrap。我如何才能可靠地检查它是否已加载到网页上,并在未加载时提供故障保护?

-----编辑--------

顺便说一句,我应该使用:

document.body.appendChild(script);

或:

document.write("<scr"+"ipt>"...);

哪个能保证所有浏览器的执行顺序?

最佳答案

您可以使用onloadonerror 事件...

<link rel="stylesheet" type="text/css" href="cdnurl/styles.css" 
onload="alert('loaded')" onerror="javascript:loadCSSBackup()" />

JavaScript:

function loadCSSBackup(){
var css = document.createElement("link")
css.setAttribute("rel", "stylesheet");
css.setAttribute("type", "text/css");
css.setAttribute("href", 'backup/styles.css');
document.getElementsByTagName("head")[0].appendChild(css);
}

关于第二个问题,你应该避免使用 document.write。像上面的代码一样附加到 body 或 head 应该没问题。

关于javascript - 如何为 css 文件实现 CDN 故障保护?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22879099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com