2011-04-09 42 views
2

Facebook是幾乎完全AJAX,並且我知道在舊的瀏覽器和IE9,Facebook的使用散列標籤改寫唯一URL,如...Facebook如何在Chrome和Firefox中重寫網址?

http://www.facebook.com/home.php#!/?sk=welcome 

http://www.facebook.com/home.php#!/?abc123 

然而,在谷歌Chrome和火狐4,臉譜是使用不同的東西,並重寫:

http://www.facebook.com/?sk=inbox 

http://www.facebook.com/home.php?sk=bd 

在AJAX所有完全,修改URL,而不是甚至只是什麼哈希標籤後(永遠也不會被髮送到服務器。)

+0

這不是因爲IE9不是現代的,它是。它因爲IE9不使用網絡工具包;爲什麼他們必須這樣做。 – 2011-12-07 23:22:50

+0

這不是事實。 pushState是HTML5的一部分,Firefox也是Gecko瀏覽器。 – 2011-12-08 01:48:24

回答

4

它使用新的HTML5 history API,特別是history.pushState方法。

它允許更改URL的路徑,查詢或片段部分。

+2

當然,這隻適用於現代瀏覽器,而不是IE9。 – Rob 2011-04-09 12:18:02