document.getElementById在Firefox中不起作用

时间:2015-03-30 11:33:21

标签: javascript jquery html css

    <img src="generate.php" id="captchaimg"/>
   <a href="javascript:void(0);" onclick="document.getElementById('captchaimg').src='generate.php';">Not readable? Change code.</a>

我知道这个问题已被提出但是这里描述的方法对我不起作用,或者我不知道正确的使用方法。我已经将代码用作内联,并且我创建了一个普通的Javascript函数,尽管我点击了JQuery代码,但是图片没有加载到Firefox中,而当我点击不可读的时候,在Chrome上正确加载验证码图片所以请帮我朋友解决问题在此先感谢老兄!!!

2 个答案:

答案 0 :(得分:2)

我认为您上面的示例可能无法正常工作,因为当您刷新验证码时,您将src属性设置为generate.php,这与之前完全相同。 Firefox可能认为使用相同的URL不值得重新获取图像。为了解决这个问题,我将src设置为空,然后将其设置回generate.php

最佳做法是从HTML元素中取出更复杂的Javascript并将其移动到自己的脚本中。作为一个基本的例子,你可以尝试这样的事情:

<img src="generate.php" id="captchaimg" />
<a id="regenerateLink" href="#">Not readable? Change code.</a>

<script>
var captcha = document.getElementById('captchaimg');
var regenerateLink = document.getElementById('regenerateLink');

regenerateLink.onclick = function() {
  captcha.src = "";
  captcha.src = "generate.php";
};
</script>

请注意,这里还有很多需要改进的地方,我不会考虑准备好代码生成,但这是一个开始:)

答案 1 :(得分:0)

firefox没有加载内容,因为源代码相同。我只是附加日期和时间使其成为新的源附件并且它已经工作了   学分:缓存破坏者&#34; - James Thorpe Salketer

<img src="generate.php" id="captchaimg"/>

<a href="javascript:void(0);" onclick="document.getElementById('captchaimg').src='generate.php?'+ new Date().getTime();">Not readable? Change code.</a>