如何防止 Iframe 在与浏览器交互后弄乱浏览器的历史记录?

2024-06-20

因此,就我而言,我使用 Iframe 将 Grafana 附加到我的页面(这为我提供了漂亮且易于使用的图表)。

可以注意到,每次在图表上进行放大或缩小(使用鼠标单击)交互后,Grafana 的 Iframe 都会在我的 Angular 页面上触发某种刷新,从而弄乱浏览器的历史记录。我没有看到 Iframe 的 src 发生任何更改来证明此页面刷新的合理性,并且它显然不会触发任何内容(例如,不会触发任何加载)。

这是正常行为吗?我怎样才能防止这种情况发生?

我正在使用 Grafana 版本 6.2.2 和 Angular 6.1 的脚本化仪表板。


希望对您有所帮助,我可能会在您的场景中尝试一些事情:

  1. 一个空白的 html 页面,里面只有一个 grafana Iframe。看看是否还刷新父页面。如果不是,那么问题可能出在角度上。
  2. 你说沙箱破坏了iframe?也许可以尝试不同的沙箱值。像允许脚本一样,看看它是否需要这些值之一才能工作

    https://www.w3schools.com/tags/att_iframe_sandbox.asp https://www.w3schools.com/tags/att_iframe_sandbox.asp

  3. 也许尝试将 grafana iframe 放入另一个 iframe 中。我以前从未这样做过,但也许它会尝试刷新父 iframe 而不是父页面。

将您的 Angular html 代码发布到问题中也可能会有所帮助。里面可能有一些提示。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何防止 Iframe 在与浏览器交互后弄乱浏览器的历史记录? 的相关文章

随机推荐