gpt4 book ai didi

c# - 如何让浏览器后退按钮通过 AJAX 调用带你返回?

转载 作者:太空狗 更新时间:2023-10-29 18:30:01 26 4
gpt4 key购买 nike

我有一个页面,上面有很多动态生成的复选框。当用户单击这些复选框时,页面上的许多内容都会通过 ajax 动态更改。最终用户提示说,在点击提交然后点击后退按钮更改某些内容后,他们的选择被打乱了,他们必须重新做一遍。

我看到一些网站(gmail、facebook 等)使用 URL 中的井号来破解后退按钮,以便它执行 AJAX 调用而不是返回到之前的完整页面请求。我想这样做是为了在页面提交之前修改 URL,以便点击后退按钮将加载他们之前选择的字段。

例如:

在 Gmail 中,如果我正在查看我的收件箱,那么我的 URL 如下所示:https://mail.google.com/mail/?shva=1#inbox

然后,如果我单击“已发送邮件”,则会执行 AJAX 调用,并且我的 URL 会修改为如下所示:https://mail.google.com/mail/?shva=1#sent

我真的很喜欢这种行为并且想复制它。这是如何实现的?

  1. 您的链接是否真的会触发任何 javascript,或者它们只是链接到带有适当哈希符号信息的 URL?

  2. 如何在javascript中读取哈希符号信息?

  3. 这种类型的导航如何影响搜索引擎?搜索引擎会知道两个除了散列后的信息之外相同的 URL 实际上是不同的 URL 并将它们编入索引吗?

  4. 我应该考虑这种技术的其他优点和缺点是什么?

注意:我将 C# 与 ASP.NET Web Forms 和 ASP.NET MVC 3.0 结合使用,以防万一。

最佳答案

要操作主题标签,请查看 location.hash (javascript)。

您还会对 HTML 5 中新的推送/弹出状态内容感兴趣。https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history .

github 已经用它做了一些很酷的事情。在 https://github.com/blog/760-the-tree-slider 查看他们关于树 slider 功能的博客条目.

http://tkyk.github.com/jquery-history-plugin/ 处还有 jQuery 历史插件. (编辑:我看到 Joe 在这方面领先于我)。

关于c# - 如何让浏览器后退按钮通过 AJAX 调用带你返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5943195/

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