iframe父窗口的Javascript后退按钮
我有一些带有iFrame的页面。我想在iframe中添加一个链接/按钮,使浏览器返回历史记录中的一页。但我想让父母回去,而不是iframe本身 我最初有这样一个功能,它使iframe页面返回(如果存在):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中的导航似乎会影
我尝试了
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不是特别指链接所在的当前框架而不是家长的历史吗?