私はHTML5のonpopstate/pushStateメソッドを使ったことがありません。しかし私は、ページをスクロールしてアドレスバーのハッシュをビューポートの現在表示されている要素のIDに変更するWebサイトを構築しています(または既に作成しています)。だから私は一枚のページレイアウトで一種のブラウザヒストリーとDeep Linkingを持っています。hashchangeを使用したWebサイト - popstateイベントが利用可能かどうかを確認していますか?
私はまだtop.location.hash
を設定し、hashchange()
機能を使用してこれを行っています。今、私はこの新しいHTML5 popstate/onPushstateメソッドを見て、これが絡み合っていると思っていました...
最初に:これを使う利点は何ですか?popstate/onPushState
メソッドは何ですか? top.location.hash
を使用する古典的な方法よりもこれを使用する方が良いですか?パフォーマンスは向上していますか?
もしそうなら、現在のブラウザがこのメソッドをサポートしているかどうかを調べる方法がありますか?だから私は古いブラウザでは、古い方法で最新のブラウザとフォールバックのためにそれらのメソッドを使用することができます。
これは可能ですか?もしそうなら、どのように?
'ハッシュタグソリューションでは、新しいものだけを追加できます。' - あなたは 'location.replace'を使うことができます – Quentin