gpt4 book ai didi

javascript - 回到 iframe 的历史记录,但更改主窗口的地址

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

我已经找到了处理除我需要的之外的所有内容的解决方案。这是场景

就像在 GMail 中一样 - 主要内容呈现在 iframe 中。单击主页上的链接会指向 iframe。这效果很好,而且无缝。此时,如果我单击浏览器上的“返回”,iframe 将返回。这很好,因为涉及缓存并且页面不会重新下载。

添加修改哈希值的通用逻辑会破坏一切。现在,当您回击时,浏览器会更改 has,但不会更改 iframe 历史记录。我尝试访问该特定 iframe 的历史记录 frames['myiframe'].history.back()但这仍然会改变哈希值而不改变 iframe 源。

我发现了一个偷偷摸摸的history.replaceState(temp, '', iframelocation)单击链接时,这可以无缝工作,但向后看,它实际上会尝试在主窗口中加载 iframe 位置。

我迷茫了。我知道 GMail 不会在您每次回退或转发时请求所有信息。那么它是如何做到的呢?它是否使用多个 iframe,并更改哪一个可见?

谢谢!

附注测试了一个简单的情况:创建一个iframe,并通过一些<a href="child" target="iframe">a更改链接现在通过 location.href = 'something' 更改哈希值到目前为止,一切都很好。现在,如果您明确告诉 iframe 返回历史记录 - 它不会 frames['iframe'].contentWindow.history.back()

最佳答案

我相信 Gmail 使用 AJAX 请求来填充 Div 层。您应该考虑使用 JQuery 动态加载数据。还有一个 jquery 历史记录插件,可以让您无缝地移动和移动。 http://github.com/tkyk/jquery-history-plugin

关于javascript - 回到 iframe 的历史记录,但更改主窗口的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3523016/

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