我有一些页面包含iframe。我想在iframe中添加一个链接/按钮,以使浏览器返回历史记录中的一个页面。但我希望PARENT能够回归,而不是iframe本身。
我最初有这个,这使得iframe页面返回(如果存在):
<a href="javascript:history.back()">« Go back</a>
我已经尝试了window.parent.history.back()
和window.parent.document.history.back()
,但两个都没有效果。从父级访问iframe没有跨域问题,反之亦然。
答案 0 :(得分:4)
我已经做了些尝试回答这个问题 - 至少在IE8中。
iframe中的导航似乎会影响父级的历史记录。我通过在父页面和使用alert显示history.length值的链接子页面中添加代码来测试这一点。导航到iframe中的新窗口会导致history.length在父页面和子页面上递增。
我能想到的唯一方法就是使用history.go(XXX),其中XXX是一个硬编码的数字,或者通过跟踪自加载以来的页面加载数量得出iframe。
我个人的建议是如果可以的话,探索iframe的替代方案 - 这种方法有一点代码味道。 :)
答案 1 :(得分:0)
您可以使用:
<a href="javascript:self.history.back()">back</a>
or:
<a href="javascript:self.history.go(-1)">back</a>
这对我有用!
)