2011年6月7日 星期二

用javascript直接換網址,而不需要重整頁面 (非hash機制)

過去有很多網站為了讓使用者快速的切換頁面,都是使用加上hash(#)來假裝網址有改變。
例如:
假如原本在  /album/ ,使用者切到第二頁時,網址會變成 /album/#p2 ,使用者的使用經驗會提升,因為 /album/切換到/album/#p2的速度非常快
使用者可能會把 /album/#p2 給分享出去,當另一位使用者開始造訪 /album/#p2的時候,該頁面會自動導向到 /album/p2/

用這個方法有個缺點,SEO會很差。

HTML5提供了一個新的功能,讓您可以在同一個網域下,動態改變網址。
方法就是使用history.pushState(data, "name", url)和history.popState("name")來達成的。
細節我自己還沒研究,請自己上網查囉!