1

のようなものが欲しいdocument.referrer。しかし、私は と を使用して単一ページのアプリを作成しbackboneているpushstateので、値は""です。

どうすればのようなものを手に入れることができますかhistory.prevState().url

編集:イベントは必要ありません。いつでもどこでも前の状態の情報にアクセスしたい。

4

1 に答える 1

1

おそらく、最後の状態を新しい状態オブジェクトに単純に保存することができます。

history.pushState({
    lastState: 'some state'
}, '', 'newpage.html');

console.log(history.state.lastState); //some state

popstateシングルページ アプリケーションを構築している場合、状態遷移の開始方法に関する標準化がなくても、およびイベントをリッスンすることで、それらすべてをインターセプトできる可能性がありonhashchangeます。

次に、配列で検出されたすべての状態をプッシュし、そのシリアル化されたバージョンをlocalStorage. これにより、以前の状態を取得できます。ただし、このコレクションは大きくなるため、サイズを確実に制御する必要があります。それらすべてではなく、最後の状態を単純に保持することもできます。

ただし、モジュール間で標準を確立する方が確実に優れています。以前の状態へのアクセスが容易になるだけでなく、保守も容易になり、将来の変更に対する柔軟性も高まります。

于 2013-08-28T03:22:10.130 に答える