弹出窗口的地址栏

Address Bar of PopUp Window

本文关键字:地址栏 窗口      更新时间:2023-09-26

我正在做一个在线考试。考试本身在弹出窗口中(以避免打开新的研究选项卡)。问题出在弹出窗口中。当我重新加载(在地址栏中突出显示地址并按回车键)时,我的计时器重置和其他数据将更改。有没有办法避免重新加载弹出窗口?

作为@Murali的答案,我建议:

window.onbeforeunload = function () { 
return confirm('Do you really whant to add +1 to you reset counter and -1 to your final exam evaluation?' };

然后,如果你使用的是php(任何其他服务器语言仍然适用):

<?php
// in your popup page //
session_start();
if(!isset($_SESSION["load_count"])){
    $_SESSION["load_count"]=0;
} else {
    $_SESSION["load_count"]+=1;
}
?>

在 HTML 部分中

<?php echo "you currently reloaded the page ".$_SESSION["load_count"]." times"; ?>

它不会阻止他们刷新,但总比没有好。

您也可以尝试:

window.onbeforeunload = function () { return false; };

但请记住,如果学生是普通人,他们可以使用浏览器控制台并自行终止任何JavaScript。

出于这个原因,如果你的计时器逻辑是javascript,你就不是完全安全的。

您可以要求用户使用 onbeforeunload event 确认重新加载。但我认为你不能阻止浏览器内置函数

尝试

  window.onbeforeunload = function () { return confirm('Are you sure?' };