Javascript 带iFrames的后退按钮

Javascript 带iFrames的后退按钮,javascript,iframe,button,history,back,Javascript,Iframe,Button,History,Back,我使用iframe来显示包含链接的内容。当用户在iFrame中单击并点击“后退”时,它会返回iFrame。这种行为是可以的。但是,一旦返回到iFrame的第一页并再次点击“back”,整个窗口就会返回到上一页。这是不需要的 为了防止这种行为,我在iFrame中放置了一个假的“后退”按钮。(在大多数情况下,这是一个糟糕的UI,在这种情况下,它工作得很好)。我希望这个假后退按钮只在上一页是iFrame的页面时返回,而不是整个页面当他们点击iFrame中的假后退按钮时,它应该只将该iFrame向后移动

我使用iframe来显示包含链接的内容。当用户在iFrame中单击并点击“后退”时,它会返回iFrame。这种行为是可以的。但是,一旦返回到iFrame的第一页并再次点击“back”,整个窗口就会返回到上一页。这是不需要的

为了防止这种行为,我在iFrame中放置了一个假的“后退”按钮。(在大多数情况下,这是一个糟糕的UI,在这种情况下,它工作得很好)。我希望这个假后退按钮只在上一页是iFrame的页面时返回,而不是整个页面当他们点击iFrame中的假后退按钮时,它应该只将该iFrame向后移动,而不移动其他内容。有什么方法可以做到这一点吗?iFrame是否有自己的历史对象

一些可能有益的东西:可以假定iFrame和主窗口的域是不同的。因此,如果可以读取“全局”历史对象,我可以通过检查域是否属于我来检查上一页是否属于我。如果域名不是我的,假后退按钮将被隐藏或不做任何事情


非常感谢您的帮助,节日快乐

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

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

没有一个例子,我不得不说你的设计看起来像糟糕的用户界面。。。当我回击时,我不想改变导航;我想回到我刚才看到的那一页

谢谢。。。我希望有更好的方法来做这件事。我想我会在cookie/session中保留一个堆栈。根据糟糕的UI,它是另一个页面中的浮动iFrame。当您在iFrame中转到新页面时,您通常希望返回(不更改主页)。
document.location.href = document.referrer;