0

みなさんおはようございます;

ユーザーが自分でページを更新したかどうかを確認しています:

$('.question').click(function(){
    $.ajax({
    type: "POST",
    url: "NextQuestion.php",
    dataType: "json",

    success: function(data) {

    window.location = '<?php echo $URL; ?>';

    }
    });
    });

上記のコードは、リンク クラスが「質問」をクリックすることによる更新でした。その人がそのリンクをクリックせず、自分でページを更新した場合、アラートをマークする必要があります。私が探しているのは次のとおりです。

人がリンクをクリックした場合 ==> ページが更新され、エラーは表示されません

F5 キーまたはその他のキーを押して更新すると、... ==> ページが更新され、エラーが表示されます。

前もって感謝します

4

1 に答える 1

0

これを行う唯一の方法は、ある種の状態を使用することです。この場合、クライアント側を使用しました。

$('.question').click(function(){
    $.ajax({
        type: "POST",
        url: "NextQuestion.php",
        dataType: "json",
        success: function(data) {
            $.cookie('clicked', 'yes');
            window.location = '<?php echo $URL; ?>';
        }
    });
});

次にテストします。

if(!$.removeCookie('clicked')) {
    alert('You refreshed your page');
}

コード例では、jQuery cookie プラグインを使用しています。

Cookie が設定されている場合、'clicked'ユーザーはクリックしました。それ以外の場合は、更新されました。これは完全に確実というわけではありません。クリックして、ナビゲーションが完了する前に別の場所に移動してから戻ることができます。それが心配な場合は有効期限を設定できますが、それは 1% 未満のユース ケースです。

于 2013-11-03T07:44:34.593 に答える