Webtech Walker

githubがhistory.replaceState使ってた

JavaScriptでhistory.pushStateとhistory.replaceStateっていう履歴管理のための仕様があるんですけど、これを使うとlocation.hashを使って実装しているような、ページ遷移をしないでコンテンツを入れ替える(Twitterの新UIみたいな)ものを実現できます。

で、これを実際使ってるところは見たことなかったんですけど、githubがいつの間にか使ってました。適当なリポジトリに入ってhistory.replaceStateをサポートしてるブラウザ(現時点ではchromeかsafari)で見るとページ遷移なしで動いて、切り替わるときにURLが書き換わってるのがわかると思います。さらにブラウザの戻るボタンもちゃんと動きます。

https://github.com/hokaccha/nodebrew

なんか次世代って感じですねー

追記:補足記事

補足:githubのアレ(history.replaceStateとかhistory.pushStateの話)

このエントリーをはてなブックマークに追加