【发布时间】:2015-10-06 03:36:09
【问题描述】:
我目前正在开发一个在线拍卖网站(抱歉,我无法在此处分享链接)。在产品列表上,我们的客户希望产品图像在从后端修改时实时动态更新。下面的解决方案可以解决问题:
var nocache = new Date().getTime();
$('#auction_id_' + aucId + ' img#' + imgID).attr("src", 'ItemPics/t' + new_image_url + '?' + nocache);
但是当用户访问产品然后点击返回按钮回到产品列表页面时 - 产品图片的缓存没有被清除,旧的图片又回来了。
我无法禁用网站上的缓存,因为它会导致客户端加载过多。
(1) 我考虑过创建一个隐藏的 iframe,将图像作为 SRC,然后实时刷新。 (2) 简单地重新加载页面并不能解决问题,所以我还考虑过使用 JavasSript 操作 Ctrl + F5 以在用户单击后退按钮时强制请求新的图像数据 = 但我认为这些都不正确方法。
任何想法将不胜感激,谢谢!
【问题讨论】:
-
您可能不得不想出一个异步解决方案,但很难说出您在寻找什么。您不希望用户在访问您的页面时查看的最后一张图片吗?你要第一个?我们没有看到这些图像是如何变化的。
-
@PHPglue 我希望将实时附加的新图像缓存起来,这样当用户单击后退按钮时,他们会看到新图像而不是旧图像
-
你可以做一个函数来拉出随机图像。
-
@PHPglue 这也行不通,该网站以前的开发人员对其进行了编程,即使在后端更新时图像名称也保持不变。
-
After travelling back in Firefox history, javascript won't run 的可能重复项。所以解决方法是在
window.onpageshow事件中绑定你的函数。
标签: javascript image browser-cache