ハッシュルーティングと履歴ルーティング
1315 ワード
ルートは2種類あります.
hashモード:
historyモード:
historyを開始する方法:
hashルーティングとhistoryルーティングの違い1.hashルーティングはアドレスバーのURLに#がありますが、historyルーティングは少しもきれいではありません.リターンリフレッシュ操作を行うと、hashルーティングはアドレスバーに対応するページにロードされますが、historyルーティングは一般的に404でエラーが発生します(リフレッシュはネットワークリクエストで、バックエンドの準備がない場合はエラーが発生します).3.hashルーティングは低バージョンのブラウザをサポートし、historyルーティングはHTML 5に追加されたAPIです.4.hashの特徴は、URLに表示されているがhttpリクエストには含まれていないため、バックエンドには少しも影響しないため、hashを変更してもページが再ロードされないため、これも単一ページアプリケーションには必須である.5.historyはブラウザの履歴スタックを運用しており、以前はback,forward,goメソッドがあり、その後HTML 5にpushState()とreplaceState()メソッド(特定ブラウザのサポートが必要)が追加され、履歴を修正する機能を提供していたが、修正を行う際に現在のURLを変更したものの、ただし、ブラウザはすぐにバックエンドにリクエストを送信しません.
hashモード:
url #,# , hash , 。
1)hash
2)hash hashchange hash ,
3) html5 history , hash
4) hash , #,
5)hash , ,
6) history ,hash
7)hash , ,
hash :
window.location.hash = "position"
historyモード:
hash url , , , history url , 。
1)history hash
2) http
3)history , , , , 404
historyを開始する方法:
history.pushState({ id }, null, id),
hashルーティングとhistoryルーティングの違い1.hashルーティングはアドレスバーのURLに#がありますが、historyルーティングは少しもきれいではありません.リターンリフレッシュ操作を行うと、hashルーティングはアドレスバーに対応するページにロードされますが、historyルーティングは一般的に404でエラーが発生します(リフレッシュはネットワークリクエストで、バックエンドの準備がない場合はエラーが発生します).3.hashルーティングは低バージョンのブラウザをサポートし、historyルーティングはHTML 5に追加されたAPIです.4.hashの特徴は、URLに表示されているがhttpリクエストには含まれていないため、バックエンドには少しも影響しないため、hashを変更してもページが再ロードされないため、これも単一ページアプリケーションには必須である.5.historyはブラウザの履歴スタックを運用しており、以前はback,forward,goメソッドがあり、その後HTML 5にpushState()とreplaceState()メソッド(特定ブラウザのサポートが必要)が追加され、履歴を修正する機能を提供していたが、修正を行う際に現在のURLを変更したものの、ただし、ブラウザはすぐにバックエンドにリクエストを送信しません.