【问题标题】:How to do ajax loading with URL change but not page redirection?如何通过 URL 更改而不是页面重定向进行 ajax 加载?
【发布时间】:2012-11-30 08:51:38
【问题描述】:

如果您仔细注意 facebook,您会明白,当您访问一个页面到另一个页面时,整个页面不会刷新或重定向,但导航时 URL 会发生变化到新页面。 聊天窗口打开时更清楚,它们在页面加载期间保持静态。正如其他网站使用 # 但 facebook 不使用

我想到了另一个例子:http://www.davidwalsh.name/。访问该网站并打开他们网站中的其他页面,您就会明白我的意思。不要忘记注意网址更改。

他们是怎么做到的?

添加更多:我想要一种使用 ajax 加载页面内容的方法,更改书签功能的 URL,但是在更改 URL 时,它不应该通过不使用 #(哈希)重新加载/刷新页面。

【问题讨论】:

  • 对于 Facebook,谷歌“哈希导航 ajax”。对于 DavidWalsh,谷歌“历史 API”。
  • 伟大的@andytuba...谢谢你的朋友!这就是我想要的。当您对此发表评论时,我无法接受答案:(
  • 不用担心,很高兴它对您有所帮助。也许复制意大利面并“回答我自己的问题”只是为了添加复选标记?

标签: ajax url


【解决方案1】:

正如@andytuba 建议的那样

对于 Facebook,谷歌“哈希导航 ajax”。

对于 DavidWalsh,谷歌“历史 API”。

【讨论】:

    【解决方案2】:

    你有两个问题:

    对于 URL 更改,您可以将路径而不是 # 放在锚的 href 属性中(例如 /otherlink)。

    打开聊天或打开某些 div 不需要在 url 中发送它,它是 div 上的 onclick 事件及其展开。此外,聊天保持打开状态可能是第一次打开聊天时设置的 cookie 或标志,并检查和更改聊天与他们设置的标志。

    【讨论】:

    • 感谢@Tariq 的回复。但我很抱歉你不明白我想问什么。我想要一种使用 ajax 加载页面内容的方法,更改书签功能的 URL,但是在更改 URL 时它不应该重新加载/刷新页面。您所说的方式只会让我在页面重定向到另一个页面时保持相同状态,这不是我的问题。
    • 我的理解是你想用 ajax 加载一些内容,而不是用锚刷新页面。所以使用 return false;在锚点的 onclick 事件上。你可以使用 链接
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-09
    • 2020-06-24
    • 2020-08-04
    • 2017-02-24
    • 2011-06-06
    • 2015-05-13
    • 2016-04-07
    相关资源
    最近更新 更多