Php 如何更改浏览器url框中的url?

Php 如何更改浏览器url框中的url?,php,javascript,jquery,Php,Javascript,Jquery,我真的很想知道为什么facebook和google可以在不重新加载页面的情况下更改url?他们只需更改站点中的块或内容 我注意到,当我使用facebook时,当点击“新订阅源”时,url是“http://www.facebook.com/页面没有重新加载,然后我单击“消息”,url变为http://www.facebook.com/messages/页面仍然没有重新加载,只需更改网站的“内容”块 那么,如何在不重新加载页面的情况下更改url 编辑:我得到了答案。 这里有两种情况: 浏览器支持h

我真的很想知道为什么facebook和google可以在不重新加载页面的情况下更改url?他们只需更改站点中的块或内容

我注意到,当我使用facebook时,当点击“新订阅源”时,url是“http://www.facebook.com/页面没有重新加载,然后我单击“消息”,url变为http://www.facebook.com/messages/页面仍然没有重新加载,只需更改网站的“内容”块

那么,如何在不重新加载页面的情况下更改url

编辑:我得到了答案。
这里有两种情况:

  • 浏览器支持html5(Firefox 3.6+等):使用html5历史记录。(示例:www.facebook.com=>www.facebook.com/messages)
  • 浏览器不支持html5(IE6、IE7、IE8等):使用哈希标记(#)(例如:www.facebook.com=>www.facebook.com/#!/messages)

希望这对像我这样有疑问的人有所帮助。

您研究过Javascript的历史API吗

编辑:您也可以在apache和then中使用mod_rewrite,但这会导致刷新

或者有这个JQuery插件


为此,您可以查看内容位置HTTP头。有关详细信息,请参阅。

URL通常会更改为,因此“片段”URL部分的更改不会使浏览器重新加载页面。相反,有一些JavaScript库监视片段更改并发出适当的请求以重新加载页面内容


#的用法
几乎成为了做这些事情的“标准”,我在其他地方看到过(比如在Twitter上)。我不记得他们是否都使用同一个库或只是命名约定,但你应该能够在fb/twitter开发者页面上了解它。

我在JSBin.com上编写代码,主要使用CSS和HTML(很久以前就放弃了Javascript),我有一个问题。例如,页面的URL是 那么,使用HTML,我如何将URL更改为例如

是HTML5吗?那么IE呢?@Alwayz Change:还有一个支持HTML4的工具。@pimvdb,谢谢链接,我会试试,因为我真的需要它,我建立了一个充满ajax的网站。我将网页分成块,然后逐块加载,所以我需要找到更改url的方法。许多thanksI建议使用Modernizer来检查历史API支持,如果不使用@pimvdb的建议作为后备方案,那么就使用它。您还可以查看yepnope()以加载您的备用项。@drrchknlsn我已经尝试过使用内容位置,但它不起作用,我在检索内容后也会查看facebook标题,它没有内容位置。我不会对此感到困惑,它是“不是”,我现在正在使用facebook。实际上是更改url而不是哈希。这很奇怪。。我又试了一次,结果它转到了“”,伴随着杂凑的砰砰声。。另外,令我惊讶的是,浏览器允许在不重新加载页面的情况下更改URL(请考虑允许这样做的安全问题…),我在@redshadow获得了它,因为您的浏览器不支持html5。我试过用IE8把它改成www.facebook.com/#/正如你所说的。但不是针对Firefox4.0(我目前正在使用它),你是对的,我只是尝试了Firefox6,它实际上改变了你所说的URL。。我正在调查它的实际功能(我将尝试创建一个页面,将其URL更改为
https://paypal.com/login
:P)我刚刚发现这个(链接自)可能是开始挖掘的好地方:)如果你有新问题,请单击按钮提问。如果此问题有助于提供上下文,请包含指向此问题的链接。