如何防止用户在javascript中离开当前窗口?

时间:2016-09-15 13:14:59

标签: javascript

我正在开发应用程序,用户必须在线编写认证考试。用户点击开始检查按钮后,我打开弹出窗口进行检查。但是我们不应该允许用户离开这个窗口(为了防止他在另一个窗口中通过Google搜索来复制答案)。用户不应该以任何方式离开活动窗口,例如按ALT + TAB(或)WINDOWS + D.

基本上,在javascript中,我们需要阻止用户以所有可能的方式离开当前窗口。怎么做?

1 个答案:

答案 0 :(得分:1)

防止用户离开您的网站,这一切都是需要的。这就是为什么它是不可能的。你唯一能做的就是检查用户是否搬走了。这将停止js执行: (见Detect if browser tab is active or user has switched away 原始代码)

 var vis = (function(){ var stateKey, eventKey, keys = { hidden: "visibilitychange", webkitHidden: "webkitvisibilitychange", mozHidden: "mozvisibilitychange", msHidden: "msvisibilitychange" }; for (stateKey in keys) { if (stateKey in document) { eventKey = keys[stateKey]; break; } } return function(c) { if (c) document.addEventListener(eventKey, c); return !document[stateKey]; } })();

vis(function(){
if(vis()==false){
alert("You left the site. You try to cheat");
//do sth else
}
});