用户打开新标签或转到另一个标签时如何发出通知?

时间:2019-05-01 03:41:53

标签: javascript django

我正在从事一个包含用户必须完成的测试的项目。测试开始后,我不希望参与者能够打开其他站点或选项卡。当他们确实打开一个新选项卡时,我想显示一个警报,如果他们确定要打开一个新选项卡,则将提示他们,从而完成测试。

我了解了Window.focusonbeforeunload的信息,但是onbeforeunload仅在您关闭标签页并且焦点没有按我预期的方式工作时有效。

我用Django写了整个项目,但我认为我应该使用JS。

2 个答案:

答案 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');
}