0

30 分以上調査しましたが、何が問題なのかわかりません。ユーザーがブラウザに戻ってページをもう一度見ないようにしたいと思います。どうすれば防ぐことができますか?私はたくさんの調査を行い、銀行が送信したヘッダーを調べましたが、まだ問題が何であるかを理解できません.

Firefox をサポートする必要がありますが、他のブラウザーでも動作するのは良いことです。

私が出力したヘッダーは次のとおりです(ブラウザが応答を認識しているものを見て確認しました)

Expires: Thu, 01 Jan 1970 00:00:00 GMT
Pragma: No-cache
Cache-Control: no-cache

htmlで私は始めます

<!DOCTYPE html>
<html>
<head>
    <title>The Title</title>
    <link href="/my.css" rel="stylesheet" type="text/css" />
    <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
    <META HTTP-EQUIV="EXPIRES" CONTENT="Thu, 01 Jan 1970 00:00:00 GMT">
    <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
</head>

フォームを送信して返信すると、まだページが表示されます。ドキュメントの有効期限が切れている/無効であるとブラウザに伝えたい、またはすべてのhtmlをリセットして、フォームにユーザーデータがまだ存在しないようにします。どうすればいいですか?

4

1 に答える 1

0

Benjamin Luptonによる History.js をご覧ください。イベント ハンドラーをイベントに登録してonstatechange、既定のアクションを防止することができます。このようなメソッドを使用した Ajax リクエストのため、jQuery アダプターを使用して独自の履歴レコードを処理します。

History.Adapter.bind(window, 'statechange', function() {
    var HistoryState = History.getState();
    if (HistoryState) {

        var stateData = HistoryState.data;

        if (stateData) {


        }
    }
});

e.preventdefaultを使用して、ユーザーが戻ってこないようにする必要があります。

データ オブジェクト内の各ページの状態データ オブジェクトを追加しますが、History.pushState(state, null, '');元に戻るのを止めるためにデータが必要かどうかはわかりません。

于 2013-01-27T23:45:42.777 に答える