我正在从事一个包含用户必须完成的测试的项目。测试开始后,我不希望参与者能够打开其他站点或选项卡。当他们确实打开一个新选项卡时,我想显示一个警报,如果他们确定要打开一个新选项卡,则将提示他们,从而完成测试。
我了解了Window.focus
和onbeforeunload
的信息,但是onbeforeunload
仅在您关闭标签页并且焦点没有按我预期的方式工作时有效。
我用Django写了整个项目,但我认为我应该使用JS。
答案 0 :(得分:1)
这在浏览器中是不可能的。您的标签无法访问其他标签中的信息,也无法访问页面上发生的事件以外的事件。
但是,可以确保鼠标没有离开屏幕。如果您使用的是jQuery,则可以使用
$(document).mouseleave(function () {
console.log('out');
});
答案 1 :(得分:0)
尝试一下, 希望它能正常工作!
onblur 是功能,当您将焦点移到当前选项卡上时,此功能将起作用。
window.onblur = function () {
// do some stuff after tab was changed e.g.
alert('You switched the tab');
}