如何在浏览器“BACK”上刷新图像?

时间:2012-04-24 09:48:50

标签: php html

当用户点击浏览器后退按钮时,我将需要我的页面刷新图像。 这是一个验证码,出于某种原因,在“返回”页面加载旧验证码时,该代码将不再有效。

我尝试添加<img src="captcha.jpg?"<?php echo time(); ?> />,但可以肯定的是,图片是在缓存中找到的。 (我们几秒钟前装了它们:))

谢谢!

4 个答案:

答案 0 :(得分:2)

您可以使用: cache-control using http-equiv meta tag

<meta http-equiv="cache-control" content="no-cache" />
页面标题 中的

这将强制浏览器不查看缓存的内容。并生成一个原始请求,并根据新请求提供结果。

您可以在此处进一步查看:http://www.metatags.org/meta_http_equiv_cache_control 希望这会有所帮助。

答案 1 :(得分:1)

好的只是一个建议:

使用javascript,您可以检测到点击的后退按钮,请参阅此主题:http://www.bajb.net/2010/02/browser-back-button-detection/

然后在管理事件的代码中执行ajax调用或更新图像所需的任何内容

答案 2 :(得分:1)

也使用php标题,它将帮助你很多

   header("Expires: Thu, 19 Nov 1981 08:52:00 GMT"); 
   header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");       
   header("Pragma: no-cache");

和html标签

   <META HTTP-EQUIV="Expires" CONTENT="0">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-store">

答案 3 :(得分:1)

在客户端使用window.onpageshow事件,并使用AJAX刷新CAPTCHA。