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 插件。

如果'clicked'设置了cookie,那么他们点击了;否则他们会刷新。这并非完全万无一失。可以单击,然后在导航完成之前离开,然后返回。如果您担心,可以设置过期时间,但这是 <1% 的用例。

于 2013-11-03T07:44:34.593 回答