Javascript 在单页应用程序中预加载图像
我有一个用NodeJS编写的单页Ajax应用程序,它非常小心地处理错误。如果与服务器的连接100%关闭,widget将有一个“reloadme”覆盖,单击该覆盖时,将尝试重新加载widget/ 我遇到的问题是这种情况:Javascript 在单页应用程序中预加载图像,javascript,image,node.js,caching,Javascript,Image,Node.js,Caching,我有一个用NodeJS编写的单页Ajax应用程序,它非常小心地处理错误。如果与服务器的连接100%关闭,widget将有一个“reloadme”覆盖,单击该覆盖时,将尝试重新加载widget/ 我遇到的问题是这种情况: 应用程序加载良好 我杀了服务器 我点击了一些可以创建小部件的东西 小部件顶部的“重新加载”图标不会显示,因为。。。好吧,客户端试图从服务器获取它,但是由于服务器关闭,图像显然无法获取 我可以将映像放在不同的服务器上,但我不想走这条路,因为这有点过分 我尝试在应用程序的页面顶部
- 应用程序加载良好
- 我杀了服务器
- 我点击了一些可以创建小部件的东西
- 小部件顶部的“重新加载”图标不会显示,因为。。。好吧,客户端试图从服务器获取它,但是由于服务器关闭,图像显然无法获取李>
我能做些什么,这样小部件将始终显示图像?一旦请求发送到死机服务器,我看不出您将如何逃脱超时和图片损坏的惩罚 通常避免服务器缓存验证的方法是设置如下标题:
缓存控制:公共;最大年龄=
now+1岁到期:
现在+1年并且没有
Etag:
或Last modified:
只会有触发验证的风险(它们应该受到
max age
和/或Expires
指令的“保护”,但一些异国浏览器可能会尝试验证它们)
但是,浏览器可以自由地从缓存中转储任何对象(如果缓存已满,并且该特定对象被认为太大和/或未充分使用而不值得缓存)
仅仅摆弄HTTP头并不能100%保证浏览器不会请求给定的对象
系统性地避免断开链接的唯一方法是直接控制浏览器的缓存行为
如果您正在使用HTML5,可能就是解决方案。是否返回带有图像响应的上次修改的
标题,以便浏览器可以缓存它?是的<代码>上次修改:2014年1月5日星期日05:42:50 GMT