古いが、まだ現在の質問。IE で pushState をエミュレートしないことをお勧めします。
その代わりに、機能検出を使用できます。
null でない場合history.pushState
(ブラウザーが pushState をサポートしている場合)、それを使用して、気の利いた JavaScript でコンテンツをロードします。
null の場合history.pushState
(ブラウザーが pushState をサポートしていない)、URL を変更するか、リンクをたどってページ全体を変更します。
もちろん、これは IE<=9 のユーザーが、他のユーザーが持っているすべてのクールなアニメーションを持っていないことを意味します。しかし、私が聞きたい質問は: あなたのウェブサイトへのリンクをネット上で見たい#
ですか?
ユーザーはあなたのアプリが便利だと思って、ウェブ上にリンクを貼り付けるかもしれません。それはクールです。それはあなたにグーグルジュースをもたらすからです. そのユーザーが IE を使用し、あなたが history.js を使用している場合、ユーザーはハッシュを含むリンクを貼り付けます。
これにより、アプリの公開ページの適切なインデックス作成が無効になり、見栄えも悪くなります。私の個人的な意見では、IE ユーザー向けの js アニメーションまたはライトボックスを用意しても、それらをトレードオフする価値はありません。