マークアップ・エンジニアのトメです。 html5で実装されたhistroy操作のAPIに「pushState」という機能があります。 固有スキルは「ブラウザの履歴を操作することができる。ただしIE9以下は除外される」です。 実はこの機能、ある技術と組み合わせて発動させることによってその力を最大限に発揮することができるのです。 その唯一無二のパートナーは「ajax」。 ajaxは言わずと知れた非同期通信を利用した対話的操作が可能なWebアプリケーション構築技術の総称。 つまりはページを移動しなくてもブラウザの後ろ側でデータを取ってきて、そのデータを元に表示が切り替わって何かすごい、みたいなやつですね。 ですが、そんなajaxにも大きな弱点があります。 それは「ページ遷移が行われない為ブラウザの履歴が残せない(URLがそのまま)」ということ。 「pushState」はそんな「ajax」の弱点を
![pushState + Ajax = pjax](https://cdn-ak-scissors.b.st-hatena.com/image/square/09e900de8415faf7eacc8fa83c9a02f2aa1d4709/height=288;version=1;width=512/https%3A%2F%2Ftogalu.jp%2Flacne%2Fowned_media%2Fupload%2Ftogalu12.jpg)