Javascript 在单页应用程序中预加载图像

Javascript 在单页应用程序中预加载图像,javascript,image,node.js,caching,Javascript,Image,Node.js,Caching,我有一个用NodeJS编写的单页Ajax应用程序,它非常小心地处理错误。如果与服务器的连接100%关闭,widget将有一个“reloadme”覆盖,单击该覆盖时,将尝试重新加载widget/ 我遇到的问题是这种情况: 应用程序加载良好 我杀了服务器 我点击了一些可以创建小部件的东西 小部件顶部的“重新加载”图标不会显示,因为。。。好吧,客户端试图从服务器获取它,但是由于服务器关闭,图像显然无法获取 我可以将映像放在不同的服务器上,但我不想走这条路,因为这有点过分 我尝试在应用程序的页面顶部

我有一个用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