Window.Historyは、ユーザーによって積極的に生成され、JavaScriptスクリプトによって制御されるグローバルオブジェクトを受け入れるWindowオブジェクトの履歴レコードを表します。ウィンドウオブジェクトは、履歴オブジェクトを介してスピーカーの歴史的記録へのアクセスを提供します。いくつかの非常に有用な方法と属性を公開し、歴史的記録で自由に前進して後退することができます。
1。歴史的記録の前進と後方歴史的な記録で後退して、あなたはこれを行うことができます:
window.history.back();
これは、ユーザーがブラウザのバックボタンをクリックするようなものです。
同様に、ブラウザのフォワードボタンをクリックするのと同じように、次のように進むことができます。
window.history.forward();2。指定された履歴記録に移動します
現在のページの位置と比較して値を指定することにより、GO()メソッドを使用して、現在のセッションの履歴記録からページをロードできます(現在のページ位置インデックス値は0、前のページは-1、および次のページは1)です。
1ページを後退させる(呼び出し()に相当):):
window.history.go(-1);
1ページを前方に移動します(call forward()に相当):
window.history.go(1);
同様のパスパラメーター2で、2つのレコードポイントを前進させることができます。長さの属性値を表示できます。また、履歴レコードスタックには記録ポイントの数が表示されます。
window.history.length;2。履歴記録ポイントを変更します
HTML5の新しいAPIにはWindow.historyが拡張されているため、歴史的な記録ポイントがより開かれています。現在の歴史的な記録を保存し、現在の歴史的な記録を置き換え、履歴記録のポイントを簡単に説明します。
1.現在の歴史的記録ポイントを保存します保存された方法は、スタック(array.push())の配列に似ており、::などの新しい履歴レコードポイントがwindow.historyに追加されます。
//現在のURLは:http://qianduanblog.com/index.htmlvar json = {time:new date()};ブラウザは、URLが存在するかどうかを確認しませんが、URLは同じドメインである必要があります。PushStateメソッドが実行された後、ページのURLアドレスはhttp://qianduanblog.com/post -htmlです。
2。現在の歴史的記録ポイントを交換しますwindo.history.replaceStateは、windo.pushstateに似ていますレコードポイントに追加されました。ユーザーの特定の操作に応じて現在の履歴レコードエントリのステータスオブジェクトまたはURLを更新する必要がある場合、The LepraceState()メソッドを使用することが特に適切です。
3。監視歴史的記録ポイント直感的な監視の歴史的な記録は、URLの変更と見なされますが、URLのハッシュ部分を無視し、HTML5にはOnhashchangeとして新しいAPIがあります私のブログのこの方法とクロスブラウザーは、この方法と互換性のあるソリューションについても言われています。 window.onpopstateを介してURLの変更を聞くことができ、上記のJSONオブジェクトである履歴記録ポイントに保存されたステータスオブジェクトを取得できます。
//現在のURLは、http://qianduanblog.com/post -htmlwindow.onpopstate = function(){//歴史的なレコードポイントvar json = window.history.stateに保存されているJSONオブジェクトを取得します戻る:http://qianduanblog.com/index.html //JavaScriptスクリプトはwindow.history.pushstateおよびwindow.history.replacestateを実行して、Onpopstateイベントをトリガーしません。
また、GoogleブラウザとFirefoxブラウザの初めての反応は、GoogleブラウザがOnPopstateイベントを回復することですが、Firefoxブラウザは違います。
上記は、HTML5のプッシュステートとポップステートの操作の詳細な説明です時間。 VEVBウーリンのウェブサイトへのご支援ありがとうございます!