gpt4 book ai didi

javascript - 具有单独后退按钮的多个 iframe

转载 作者:行者123 更新时间:2023-11-28 08:43:17 25 4
gpt4 key购买 nike

我有一个包含两个 iframe 的网站,每个 iframe 都包含来 self 的服务器的不同内容。我想要发生的是每个 iframe 有一个仅适用于其自身的后退按钮,即 backbutton_1 仅适用于 frame_1backbutton_2 有效仅适用于 frame_2

这些是我尝试实现的方法,但均无济于事。

  • a) 使用 onclick="history.back()"将后退按钮放入 iframe

  • b) 使用 onclick="iframe.contentWindow.history.back()"将后退按钮放入 iframe

  • c) 放回使用 onclick="frame_1.history.back()"按钮进入父站点
    & onclick="frame_2.history.back()"

不幸的是,这些方法中的每一种都只能在全局范围内起作用,而不是单独起作用。

任何帮助将不胜感激。

最佳答案

我认为您只能在同一域上的 iframe 上进行有限程度的单个 iframe 历史导航,但实际上这不是一种非常有用的机制,因为实际上只能有一个历史序列,因此单个历史导航与全局历史导航相冲突历史导航。一旦你偏离了一个历史序列,一切都会被抹去,所以如果使用单独的导航,全局导航将是不可能的(否则它将解开时空连续体的结构并摧毁整个宇宙)。

想象一下,如果您有一个父页面 A 和两个 iframe B 和 C,并且您像这样向前导航:

第 1 步:A 查看第 1 页,B 查看第 2 页,C 查看第 3 页

第 2 步:A 查看页面 1,B 查看页面 2,C 导航至页面 4

第 3 步:A 查看第 1 页,B 导航到第 5 页,C 导航到第 4 页

第 4 步:A 查看页面 1,B 查看页面 5,C 导航至页面 6

使用全局历史记录的场景:如果我们使用浏览器“后退”按钮向后导航两次到整个步骤 2,您预计 B 显示第 2 页和 C 第 4 页,如果您前进到步骤 3,您会看到 B 显示 5 和C 显示 4。现在用户将 C 导航到页面 1。用户现在已经删除了此后的所有历史记录,因为我们已经 fork 了历史记录,因此没有全局转发(它变为灰色)。我们可以导航回步骤 3、2 和 1,并且可以从步骤 3 向前导航到新的步骤 4(B 显示 5,C 显示 1)。

使用单个历史记录的场景:如果我们使用单个按钮进行导航,并按 iframe C 上的后退按钮两次,您可能会期望在单个级别上 C 移动到第 4 页(在步骤 2 中的位置),而 iframe B 会留在第 5 页。现在用户将 B 导航到第 7 页。现在全局历史记录按钮和个人历史记录按钮会发生冲突,因为您可能认为按返回 C 可以返回到第 3 页(步骤 1 中的内容),但是全局 Back 会将两个 iframe 移动到哪里呢?

如果您想要真正独立的 iframe 历史记录,我认为您需要在代码中跟踪用户的导航,但请注意,由于上面解释的冲突,使用全局导航会很奇怪。

关于javascript - 具有单独后退按钮的多个 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20230226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com