如何在浏览器url框中修改url

how to change url in browser url box?

本文关键字:url 修改 浏览器      更新时间:2023-09-26

我真的很奇怪为什么facebook和google可以改变url而不重新加载页面?他们只是在他们的网站上改变块或内容。

我注意到,当我使用facebook时,当点击"新feed"时,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/#!/消息)

希望这对像我一样有疑惑的人有帮助。

你看过Javascript的历史API吗?

http://diveintohtml5.ep.io/history.html

编辑:你也可以使用mod_rewrite apache,然后,但这会导致刷新。

或者是JQuery Plugin

http://www.asual.com/jquery/address/

URL通常改为http://facebook/#!因此,"fragment"URL部分的更改不会使浏览器重新加载页面。相反,有一些JavaScript库可以监视片段的变化,并发出适当的请求,以便重新加载页面内容。

#!的使用几乎成为做这些事情的"标准",我在其他地方看到过这样的使用(例如:在推特上)。我不记得他们是否都使用相同的库或只是命名约定,但你应该能够在fb/twitter开发者页面上挖掘它。

为此,您可以查看Content-Location HTTP报头。

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