带有iFrames的后退按钮

时间:2008-12-31 03:40:07

标签: javascript iframe button history back

我正在使用iframe来显示包含链接的内容。当用户在iFrame中点击并点击“返回”时,它会返回iFrame。这种行为没问题。但是,一旦他们回到iFrame的第一页并再次点击“返回”,整个窗口将被带回到上一页。这是不受欢迎的。

为防止出现这种情况,我在iFrame中放了一个假的“后退”按钮。 (在大多数情况下,这是糟糕的UI,在这种情况下,它运作良好)。如果上一页是iFrame的页面 - 而不是整个页面,我想要这个假的后退按钮才能返回。 当他们点击iFrame中的假后退按钮时,它应该只移动iFrame,没有别的。有没有办法做到这一点? iFrame是否有自己的历史对象?

可能有益的东西:可以假设iFrame的域和主窗口是不同的。因此,如果可以读取“全局”历史对象,我可以通过检查域是否是我的来检查上一页是否是我的。如果域名不是我的,则假隐藏或不执行任何操作。

非常感谢,节日快乐!

2 个答案:

答案 0 :(得分:3)

document.location.href = document.referrer;

答案 1 :(得分:2)

您应该能够使用javascript历史记录对象将用户推回去;但是当iframe点击用完并且主页想要返回时,你将无法阻止它。你无法阻止它,因为在大多数浏览器中故意锁定它以防止人们恶意地搞乱它。

  • 您可以编写自己的历史跟踪代码,并将后退按钮弹出项目放在该堆栈中,当堆栈为空时停止...
  • 如果你正在使用一些复杂的链接嵌套 - 也许是一些基于javascript的树状菜单?这样iframe永远不会有页面刷新?

如果没有一个例子,我不得不说你的设计看起来很糟糕...当我回击时,我不希望导航改变;我想回到我刚才的任何页面。