为什么验证码图像在IE8中没有变化

时间:2013-01-07 21:31:52

标签: internet-explorer-8 captcha

我正面临一个重大问题。当我在点击“不可读?更改文字”链接更改验证码的图像时。那么在这种情况下只有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>

2 个答案:

答案 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

关于它的工作方式:

enter image description here

  

一个例子怎么样?假设HTTP服务器发送带有的图像   以下标题:Cache-Control:post-check = 3600,pre-check = 43200 Both   预检和后检查指定以秒为单位的时间间隔。我们告诉IE   将所提到的图像缓存12小时(60 * 60 * 12秒)。该   第一个小时(60 * 60秒)IE将只显示其中的图像   本地缓存。但是,60分钟后,我们希望它检查更新   一个在后台,即它将显示缓存的然后执行   背景调查。当12小时结束时,IE会检查修改后的内容   首先是图像。

SOURCE

注意:在测试之前从浏览器中清除缓存;)。

答案 1 :(得分:0)

我怀疑是IE8缓存问题;这是你的Math.random()无法正常工作。 看看那里:IE8 is still caching my requests even with mathrandom