0

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

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

谢谢!

4

4 回答 4

2

您可以使用:使用 http-equiv 元标记的缓存控制

<meta http-equiv="cache-control" content="no-cache" />

在您的页面头标签中。

这将强制浏览器不查看缓存的内容。并生成一个请求源并将结果带到新的请求中。

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

于 2012-04-24T09:57:20.707 回答
1

好的,只是一个建议:

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

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

于 2012-04-24T09:57:59.317 回答
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">
于 2012-04-24T10:09:45.660 回答
1

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

于 2012-04-24T10:13:38.887 回答