document.getElementById 在 Firefox 中不起作用

The document.getElementById is not working in Firefox

本文关键字:不起作用 Firefox getElementById document      更新时间:2023-09-26
    <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上正确加载 不可读,所以请帮助我的朋友解决问题 提前谢谢伙计!!

我认为您上面的例子可能不起作用,因为当您刷新验证码时,您将 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>

请注意,这里还有很多需要改进的地方,我不认为代码生产已经准备好了,但这是一个开始:)

Firefox 没有加载内容,因为源是相同的。 我只是附加日期和时间以使其成为新的源附件,它得到了工作
学分:缓存破坏者"——詹姆斯·索普萨尔克特

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