【问题标题】:Is there a way that I can make a reload button refresh and iFrame有没有办法让重新加载按钮刷新和 iFrame
【发布时间】:2019-08-26 21:10:57
【问题描述】:

我正在处理一个主页,我有一个 iFrame,我希望能够使用按钮重新加载。

我有两个 Javascript 文件,我将标记为“J1”(第一个)和“J2”(第二个),对于两个 HTML 文件,我将它们标记为“Hyper1”和“Hyper2”。

我在使用以下代码时遇到的问题:

[Hyper1]

<button style="display: none" id="reload" class="tablinks" onclick="reload()">Reload</button>

[J2]

function reload() {
    window.location.reload();
}

所以基本上我有“Hyper1”上的按钮代码和“J2”上的功能(这是 iframe 的编码所在),它仍然重新加载整个页面,而不仅仅是 iFrame。

我知道这看起来很容易解决,但我是 JavaScript 新手,所以我个人不太了解

【问题讨论】:

标签: javascript html css reload


【解决方案1】:

试试这个

function reload() {
    document.getElementById('your_frame_id').src += '?v=' + Math.random();
}

将此函数放在您的 J1 中。

【讨论】:

  • 我认为这仅在 iframe 与主页位于同一域中时才有效。
  • @Barmar 我已经编辑了我的答案。那是 100% 在没有域的简单 html 页面中工作。
  • 谢谢,这花了我很长时间,终于结束了
  • 我认为如果 math.random = 与之前的值相同,您可能会获得缓存结果,尽管它仍应刷新。 frame.src = frame.src 应该和这个一样。
  • @DanielTate 是的,这是该解决方案的缺点,但我认为Math.random() 发生这种情况的可能性很小。并且根据使用情况,我认为用户不会向重新加载按钮发送垃圾邮件。只要您使用我在此使用的缓存清除概念,您就可以随时使用其他类似随机的算法 :)
猜你喜欢
  • 2018-07-31
  • 2021-08-25
  • 1970-01-01
  • 2018-03-14
  • 1970-01-01
  • 1970-01-01
  • 2012-07-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多