如何在JavaScript中灭活功能



我有一个JavaScript函数,我希望在不再需要时能够关闭它。它被称为"锁定",并在进行测验时阻止学生导航到其他网站。如果他们确实尝试去其他地方,他们将被发送到另一个URL,称他们违反了"锁定"规则。

激活函数"锁定"时,称为"锁定"的变量设置为" 1",这会导致该函数处于活动状态。

现在,我有时想停止"锁定"功能,因此我制作了另一个称为" stoplockdown"的函数,将"锁定"变量更改为其他数字。似乎这应该阻止该函数被执行,因为有一个依赖"锁定"为" 1"的" if"子句。因此,如果"锁定"不是" 1",那么其余事件就不会发生。

我能够从另一个程序中成功调用"锁定"one_answers" stoplockdown",但" stoplockdown"并未关闭锁定功能。这是JavaScript:

<!--lockdown and stop lockdown--->
<script>
<!--declare variable outside of function to give it a global scope--->
var locked=2;

function lockdown(){
locked=1;
alert(locked);
if(locked==1){
// next event prevents resizing or starting with small window to allow for split screen cheating in lockdown mode.
if (window.outerHeight<screen.availHeight || window.outerWidth<screen.availWidth) {
window.location.href = 
'https://quizninja.net/lockdown.html';
}
window.addEventListener("resize", resized);
function resized(){
window.location.href = 
'https://quizninja.net/lockdown.html';
}
// previous event prevents resizing or starting with small window window to allow for split screen cheating in lockdown mode.
// next event redirects to another page if quiz loses focus
  window.onblur = function (){
  window.location.href = 
'https://quizninja.net/lockdown.html';
}
}
}
 // to make it complete, also add onblur to document.
// For browsers using tabs (like firefox)
document.onblur = window.onblur;
document.focus = window.focus;
//stop lockdown
function stoplockdown(){
locked=0;
alert(locked);
}
</script>

<!-- javascript function to close window if not in focus for lockdown browser mode ENDS...-->
e

为什么这不起作用?我对JavaScript有点陌生,并且不是一般的专家程序员。似乎"锁定"应该具有全局范围,但是在更改其值时停止"锁定"功能的" if"子句似乎并没有改变。任何建议,将不胜感激。谢谢。

锁定实际上没有做任何事情,因为您将其设置为1,然后检查它是否等于1。

然后创建一个事件侦听器 - 当您更改锁定的值时,此事件侦听器仍在那里。您需要将其删除或检查事件侦听器本身的锁定值。

相关内容

  • 没有找到相关文章

最新更新