Как сделать уведомление, когда пользователь открывает новую вкладку или переходит на другую вкладку? - PullRequest
0 голосов
/ 01 мая 2019

Я работаю над проектом, который включает тестирование, которое пользователи должны завершить. После запуска теста я не хочу, чтобы участники могли открывать другие сайты или вкладки. Когда они действительно открывают новую вкладку, я хочу показать предупреждение, которое предложит им, если они уверены, что хотели бы открыть новую вкладку, тем самым завершив тестирование.

Я читал о Window.focus и onbeforeunload, но onbeforeunload работает только тогда, когда вы закрываете вкладку и фокус не работает, как я ожидал.

Я написал весь проект в Django, но, думаю, мне следовало использовать JS.

Ответы [ 2 ]

1 голос
/ 01 мая 2019

Это невозможно в браузере. Ваша вкладка не имеет доступа к информации из других вкладок или событиям, отличным от того, что происходит на вашей странице.

Однако можно убедиться, что мышь не покидает экран. Если вы используете jQuery, вы можете использовать

$(document).mouseleave(function () {
    console.log('out');
});
0 голосов
/ 01 мая 2019

Попробуйте, надеюсь, все будет хорошо!

onblur - это функция, когда вы потеряете фокус на текущей вкладке, тогда эта функция будет работать.!

window.onblur = function () {
    // do some stuff after tab was changed e.g.
    alert('You switched the tab');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...