1

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

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

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

我试过了window.parent.history.back()window.parent.document.history.back()但都没有。从父级访问 iframe 不存在跨域问题,反之亦然。

4

2 回答 2

4

我做了一些尝试来尝试回答这个问题——至少在 IE8 中。

iframe 内的导航似乎会影响父级的历史记录。我通过在父页面和链接的子页面中添加代码来测试这一点,这些子页面使用警报来显示 history.length 的值。导航到 iframe 中的新窗口会导致 history.length 在父页面和子页面上增加。

我认为控制后退行为的唯一方法是使用 history.go(XXX) ,其中 XXX 是硬编码数字,或者是通过跟踪加载 iframe 后的页面加载次数得出的。

如果可以的话,我个人的建议是探索 iframe 的替代方案——这种方法有点代码味道。:)

于 2010-06-07T21:39:58.833 回答
0

你可以使用这个:

    <a href="javascript:self.history.back()">back</a>

    or:

    <a href="javascript:self.history.go(-1)">back</a>

这对我有用!

;)

于 2012-01-03T17:27:24.780 回答