2014-06-18 255 views
0

我创建了一个使用缓存的独立Web应用程序。它工作得很好,如果你有eithe设置加载appcache的超时时间?

我的问题是,一些需要网络连接的脚本,如谷歌分析,阻止页面呈现,直到他们加载(至少如果使用应用程序缓存),如果你有连接不好,那么50kB页面可能需要一分钟以上的加载,而不是常规的即时加载速度。

这是我的.appcache文件:

CACHE MANIFEST 

# Cache manifest version 5.4 

CACHE: 

assets/js/webapp.js 
src/js/master.js 
src/js/master.min.js 
index.html 
assets/css/style.css 
about/index.html 
license/index.html 

NETWORK: 
* 

有没有办法超时脚本加载?我的应用程序由GitHub页面托管,所以我无法控制服务器。我想要发生的情况是,如果任何需要网络连接的脚本无法在'x'毫秒内加载,则会终止加载这些脚本。

有没有一种方法可以在JavaScript中实现?或者有没有一种洁净的方式来处理这个问题?

的想法我已经为解决这个包括:

1)取出在某个设定后的“x”毫秒,将寻找一个1px的运行JS功能有问题的资产

2)图像这是通过网络下载,如果不能找到它然后终止该其它网络脚本

如果有帮助,here's my github repo for my app

回答

0

好,因为没有人回答这个问题,我会后我的解决方案,似乎工作。

我所做的是花了影响页面加载速度的代码(外部脚本),并使用yepnode.js超时加载,如果花费超过n秒。

这样,如果连接不好并且页面的加载被阻止,yepnope会取消脚本的加载,最终结果将从缓存中完全加载。 (因为脚本是从网络加载的唯一东西。)