我正面临一个重大问题。当我在点击“不可读?更改文字”链接更改验证码的图像时。那么在这种情况下只有IE8不会改变图像而其他浏览器支持它。如果有人知道它的原因那么请告诉我。我的编码如下。 感谢
<div id="captcha1">
<img src="captcha.php" id="captcha" />
<br/>
<a href="#" onclick="
document.getElementById('captcha').src='captcha.php?'+Math.random();
document.getElementById('captcha-form').focus();"
id="change-image">Not readable? Change text.</a>
</div>
答案 0 :(得分:1)
好的,请通过以下方式更改Cache-Control标头:
header('Cache-Control: no-cache, no-store, must-revalidate, post-check=0, pre-check=0');
根据我的阅读,检查和预检是特定于IE的。
查看更多文档。关于这个主题:
http://php.net/manual/en/function.session-cache-limiter.php
关于它的工作方式:
一个例子怎么样?假设HTTP服务器发送带有的图像 以下标题:Cache-Control:post-check = 3600,pre-check = 43200 Both 预检和后检查指定以秒为单位的时间间隔。我们告诉IE 将所提到的图像缓存12小时(60 * 60 * 12秒)。该 第一个小时(60 * 60秒)IE将只显示其中的图像 本地缓存。但是,60分钟后,我们希望它检查更新 一个在后台,即它将显示缓存的然后执行 背景调查。当12小时结束时,IE会检查修改后的内容 首先是图像。
注意:在测试之前从浏览器中清除缓存;)。
答案 1 :(得分:0)
我怀疑是IE8缓存问题;这是你的Math.random()无法正常工作。 看看那里:IE8 is still caching my requests even with mathrandom