我想知道如果检测到它们离线,是否有更好的方法为用户提供本地托管的资产。
他们实际上不会离线,但由于公司代理,有时网站的链接会被阻止或被拒绝。
我有大约 10 个通过 CDN 交付的资产,但这样写似乎是不好的做法:
<script>
var isOnline = window.navigator.onLine;
if( isOnline ) {
document.write('<script src="http://cdn.site.ltd/file1.js"></script>');
document.write('<script src="http://cdn.site.ltd/file2.js"></script>');
document.write('<script src="http://cdn.site.ltd/file3.js"></script>');
document.write('<link href="http://cdn.site.ltd/file.css"></link>');
} else {
document.write('<script src="../file1.js"></script>');
document.write('<script src="../file2.js"></script>');
document.write('<script src="../file3.js"></script>');
document.write('<link href="../file.css"></link>');
}
</script>
我的意思是除了禁用Javascript(不是默认设置)的用户之外,这是错误的做法吗?
我也发现了这个,但我不知道它是否对这种情况过度杀伤?