【问题标题】:Does loading unloading iframes in a webpage affects its history?在网页中加载卸载 iframe 会影响其历史记录吗?
【发布时间】:2026-02-04 06:05:02
【问题描述】:

我有一个网页,点击按钮会在 div 的 iframe 中加载另一个网页。单击启动按钮时,这就是完成的操作

  • iframe 的 src 属性设置为所需网页的 url。我注意到这会增加历史记录。
  • 显示了 div,它本质上也显示了 iframe

点击关闭按钮

  • div 被隐藏了,这实际上也隐藏了 iframe
  • iframe 的 src 属性设置为 about:blank,删除 iframe 对象无济于事

现在这个关闭部分增加了浏览器历史记录,我可以在历史记录列表中看到 iframe。为什么会发生这种情况,我该如何避免这种情况?

我找到了解决方案。除了设置源属性,还可以用新的 url 替换位置。示例:iframeobject.set contentWindow.document.location.replace(url);

【问题讨论】:

  • 不设置添加历史记录的src属性,直接删除iframe对象即可。
  • d'oh,想想看 :( 会试试这个 :)
  • 这没有帮助。我仍然看到历史正在增加

标签: javascript browser iframe yui browser-history


【解决方案1】:

修复历史问题的一种方法是不使用 iframe 而是使用对象并将其数据属性更改为任何目标。它不会添加到历史记录中,因为它就像更改图像的来源一样。你只需要在对象标签中指定type="text/html"

<object type="text/html" data="http://www.google.com/" width="500" height="500"></object>

【讨论】: