ハッシュパターンと履歴モデル小型ノート

ハッシュモード

  ここでハッシュを参照番号記号とURL文字のバックたとえば、「www.baidu.com/#hashhash 」、「#hashhashは、」我々は、ハッシュ値を期待したものです。

  変化へのハッシュ値は、ブラウザがサーバーのような要求を送信し、ハッシュ変更が前後H5モデルの歴史が登場する前にブラウザでも基本的にハッシュを使用して、制御することができ、なhashchangeイベントをトリガすることはありません遠位ルーティングモードが実現されます。

履歴モード

  新しいHTML5で履歴を使用pushState()replaceState()メソッド、二つの方法が追加して、レコードの歴史を変更することができます。彼らは変更を実行する場合にのみ、現在のURLの変更はなく、していないが、ブラウザは、すぐにサーバに要求を送信します。

  history.pushState()とhistory.replaceState()すべての3つのパラメータ(状態、タイトル、URL)

  パラメータは次のとおりです。

    1. 状態:popstateのイベントで使用することができ、正当なJavaScriptオブジェクト

    2. タイトル:今、ほとんどのブラウザは、このパラメータを無視し、あなたがnullでできるの代わりに、直接

    3. URL:任意の有効なURL、ブラウザのアドレスバーを更新します

  history.pushState差()とhistory.replaceStateは()は前記します

    • history.pushState()既存の歴史を維持しながら、URLが履歴に追加されます。

    • history.replaceState()現在のページのURLは、歴史の中で歴史的な記録に置き換えられます。

  history.pushState()とhistory.replaceState()は、同時にURLを変更することができますので、HTML5でhistroyは、フロントエンドルートを実装する能力を持っているので、ページを更新しないでください。

  ページが更新されませんが、我々は手動で更新している、またはアプリケーションを入力するときに、サーバーがURL経由で直接URLで認識されていないものの、しかし、改訂されたURLにある歴史を点に注意してください。我々は単一ページのアプリケーション、のみhtmlファイル、他のパスに対処するサーバーのURLであるため、状況は404を表示されます。あなたは履歴モードを適用したいのであれば、あなたはサービス側ですべての状況をカバーするために候補リソースを増やす必要があります:URLは任意の静的リソースと一致した場合、それはhtmlファイル1ページのアプリケーションを返す必要があります。

概要

  • ハッシュモードは、URLが運ぶハッシュ#記号を、コンテンツが要求に含まれているのみで、ハッシュ記号の前に、それは404エラーを返しません。

  • 履歴モードでは、URLのフロントエンドは、サーバの必要性と一貫性のバックエンドへの要求を開始した実際のURLである必要がありますルーティング設定、それ以外の場合は404エラーを返します。

おすすめ

転載: www.cnblogs.com/yaokai729/p/11442951.html