iframe父窗口的Javascript后退按钮

时间:2010-06-07 21:17:13

标签: javascript iframe back-button

我有一些页面包含iframe。我想在iframe中添加一个链接/按钮,以使浏览器返回历史记录中的一个页面。但我希望PARENT能够回归,而不是iframe本身。

我最初有这个,这使得iframe页面返回(如果存在):

<a href="javascript:history.back()">&laquo; Go back</a>

我已经尝试了window.parent.history.back()window.parent.document.history.back(),但两个都没有效果。从父级访问iframe没有跨域问题,反之亦然。

2 个答案:

答案 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>

这对我有用!