如果用户离线,则提供本地文件

问题描述

我想知道是否有更好的方法来为用户提供本地托管的资产(如果检测到它们处于脱机状态)。

它们实际上并不会处于脱机状态,但是由于公司代理的原因,有时链接到站点的链接被阻止或被拒绝。

我通过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的理想用例,不是吗?

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...