【发布时间】:2013-09-27 04:30:20
【问题描述】:
我有动态生成新验证码图像的 php 代码。我有一个 HTML 按钮,它通过 jquery 事件处理程序用新的验证码图像刷新。单击按钮(并触发 jquery 事件处理程序)会在 chrome 和 safari 中生成一个新图像——但在 firefox 中不会。火狐有什么不同?我怎样才能让它在Firefox中工作?
javascript 控制台在任何浏览器中均未显示错误。
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(document).ready(function () {
$("#submitButton").click(function(event) {
$("#captchaText").attr('src', 'cryptographp.inc.php?intro=false'); //this line does not generate a fresh image in firefox
});
});
</script>
<link rel="stylesheet" type="text/css" href="stylesheet2.css">
</head>
<body>
<div class="wrapper">
<div id='header'>
</div>
<div id='captchaPanel'>
<div id='top'>
<div id='fillerTop'>
</div>
<div id='captcha'>
<img id='captchaText' src='cryptographp.inc.php?intro=false'> </img>
</div>
</div>
</div>
<div id='submitDiv'>
<input id='submitButton' type="submit" class="button" value="Submit"/>
</div>
</div>
</body>
也许我需要通过显式 AJAX 调用来执行此操作?像这样的东西(我猜测语法)。
$.ajax({
url: 'cryptographp.inc.php?intro=false',
success: function(data) { $("#captchaText").attr('src', data); }
});
【问题讨论】:
-
"Firefox 是否缓存对 PHP 文件的调用?" --- firefox 不知道什么是 php 文件。有http请求和缓存头。
-
Ffox / Firebug 的 JavaScript 调试器中出现了什么?有时浏览器可以让不正确的代码毫无问题地执行,因此 Chrome 可能比 FFox 对你更宽容。
标签: javascript jquery ajax firefox cross-browser