iframe父窗口的Javascript后退按钮

iframe父窗口的Javascript后退按钮,javascript,iframe,back-button,Javascript,Iframe,Back Button,我有一些带有iFrame的页面。我想在iframe中添加一个链接/按钮,使浏览器返回历史记录中的一页。但我想让父母回去,而不是iframe本身 我最初有这样一个功能,它使iframe页面返回(如果存在): 我尝试了window.parent.history.back()和window.parent.document.history.back(),但两者都不起作用。从父级访问iframe没有跨域问题,反之亦然。我已经做了一些尝试来回答这个问题-至少在IE8中是这样 iframe中的导航似乎会影

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

我最初有这样一个功能,它使iframe页面返回(如果存在):



我尝试了
window.parent.history.back()
window.parent.document.history.back()
,但两者都不起作用。从父级访问iframe没有跨域问题,反之亦然。

我已经做了一些尝试来回答这个问题-至少在IE8中是这样

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

我能想到的控制返回行为的唯一方法是使用history.go(XXX),其中XXX是一个硬编码的数字,或者是通过跟踪加载iframe后页面加载的数量而得到的


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

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

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

我能想到的控制返回行为的唯一方法是使用history.go(XXX),其中XXX是一个硬编码的数字,或者是通过跟踪加载iframe后页面加载的数量而得到的

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

您可以使用:

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

    or:

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

或:
这是我的工作

)()

您可以使用:

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

    or:

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

或:
这是我的工作


)()

self.history
history
是同一个对象,所以我看不出这会有什么不同。Mayo的回答描述了为什么要这样做。self.history不是特别指链接所在的当前帧而不是父级的历史吗?
self.history
history
是同一个对象,所以我看不出这会有什么不同。Mayo的回答描述了为什么要这样做。self.history不是特别指链接所在的当前框架而不是家长的历史吗?