我有一个出现测验的网站,用户可以在其中出现测验。它具有超时功能,如果时间超过30分钟,则会自动提交测验。现在,尝试测验的用户尝试在发生超时时停止页面处理,并通过单击浏览器中的X
按钮来停止页面加载。如何防止这种情况。我已经看到了禁用refresh
按钮的结果,但并非如此。自动提交完成且结果正在处理时,用户正在停止页面加载。我可以对此有一些见识吗?
$pageWasRefreshed = isset($_SERVER['HTTP_CACHE_CONTROL']) && $_SERVER['HTTP_CACHE_CONTROL'] === 'max-age=0';
if($pageWasRefreshed ) {
echo "<script>window.location.href='dashboard.php'</script>";die;
}
以上发送的代码无效。
答案 0 :(得分:0)
您可以尝试使用Ajax阻止用户停止您的请求。
如果时间超过30分钟,请向“地下”服务器发送请求,提交用户表单。
您可以使用JQuery Ajax或任何其他您喜欢的东西。
答案 1 :(得分:-1)
<script language="JavaScript">
window.onbeforeunload = confirmExit;
function confirmExit() {
confirm( "You have attempted to leave this page. Are you sure?" );
}
</script>
您可以使用onbeforeunload
答案 2 :(得分:-2)
仅是一个建议-您为什么不在超时时使用警报来通知用户您在做什么,他们可以等一下吗?那么至少他们必须关闭该窗口才能继续。
myfunction <- function(xaxis,yaxis){
# Specfiy my "y" and "x"
x <- data$xaxis
y <- data$yaxis
f <- function (x,a,b,d) {(a*x^2) + (b*x) + d}
order_two <- nls(y ~ f(x,a,b,d), start = c(a=1, b=1, d=1))
co2 <- coef(order_two)
data$order_two_predicted_yaxis <- (co2[1] * (data$x)^2) + (co2[2] * data$x) + co2[3]
}
myfunction(x,v1)
myfunction(x,v2)
myfunction(x,v3)
只需满足自己的超时要求即可。