Javascript 弹出窗口的地址栏
我在网上考试。考试本身在弹出窗口中(以避免打开新标签进行研究)。问题出现在弹出窗口中。当我重新加载时(突出显示地址栏中的地址并按enter键),计时器将重置,其他数据将更改。有没有办法避免重新加载弹出窗口?您可以要求用户使用确认重新加载。但我认为你不能阻止浏览器内置的功能 试一试Javascript 弹出窗口的地址栏,javascript,asp.net,Javascript,Asp.net,我在网上考试。考试本身在弹出窗口中(以避免打开新标签进行研究)。问题出现在弹出窗口中。当我重新加载时(突出显示地址栏中的地址并按enter键),计时器将重置,其他数据将更改。有没有办法避免重新加载弹出窗口?您可以要求用户使用确认重新加载。但我认为你不能阻止浏览器内置的功能 试一试 正如@Murali的回答,我建议: window.onbeforeunload = function () { return confirm('Do you really whant to add +1 to you
正如@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(任何其他服务器语言仍然适用):
但请记住,如果学生是普通人,他们可以使用浏览器控制台自行终止任何javascript
因此,如果您的计时器逻辑是用javascript编写的,那么您就不是完全安全的。缺少很多帮助您的信息。为什么要重新加载页面?是故意的还是意外的?你说的弹出窗口是指没有地址栏的浏览器窗口吗?是的,先生。可能吗?或者是否有方法避免在地址栏中单击/突出显示地址。有意的。用户无法停止刷新页面。如果您只关心数据丢失,则可以在cookie/session中存储一些数据。现在很清楚,您希望避免学生刷新弹出窗口。是吗?@sirandereabogazzi:是的,即使我不知道他们是否会故意或无意地通过我上面提到的方法刷新页面。我明白了。第一个建议很好,我想我会应用它。非常感谢您的大力帮助。:)
window.onbeforeunload = function () {
return confirm('Do you really whant to add +1 to you reset counter and -1 to your final exam evaluation?' };
<?php
// in your popup page //
session_start();
if(!isset($_SESSION["load_count"])){
$_SESSION["load_count"]=0;
} else {
$_SESSION["load_count"]+=1;
}
?>
<?php echo "you currently reloaded the page ".$_SESSION["load_count"]." times"; ?>
window.onbeforeunload = function () { return false; };