问题描述
我想知道是否有更好的方法来为用户提供本地托管的资产(如果检测到它们处于脱机状态)。
它们实际上并不会处于脱机状态,但是由于公司代理的原因,有时链接到站点的链接被阻止或被拒绝。
我通过CDN交付了大约10项资产,但这样写似乎是不明智的做法:
<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(不是默认设置)的用户之外,这是否是这样做的错误方法?
我也found this,但我不知道它是否对这种情况产生了过度杀伤力?
解决方法
这将是ServiceWorker的理想用例,不是吗?