Всплывающее оповещение, когда окно / вкладка не активны

#tabs #window #alert

#вкладки #окно #предупреждение

Вопрос:

Я пытаюсь уже довольно давно, но безуспешно.

Есть ли у вас какие-либо идеи, как вы можете создать всплывающее окно (alert) всякий раз, когда пользователь меняет вкладку / окно в своем браузере?

Таким образом, в принципе, когда пользователь изменяет окно в своем браузере, появится окно предупреждения, и пользователю нужно будет нажать кнопку ok, чтобы продолжить

Эта функциональность необходима, поскольку я создаю сайт онлайн-тестирования, и мне нужно отображать оповещение всякий раз, когда пользователи будут пытаться изменить вкладку / окно

Комментарии:

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

2. @Mr., ваше имя заставляет меня грустить каждый раз, когда я его вижу.

3. @Michael: Пока это не свидетельствует о моем вкладе, я могу с этим смириться.

4. @Mr. Я отредактировал как можно тщательнее. Что касается части кодирования, я просто трачу это время, ни к чему не придя. Итак, это была в основном процедура / code и erase / .

Ответ №1:

Вы можете использовать события focus и blur для объекта window (вкладки тоже считаются окнами). Попробуйте это:

 window.addEventListener('focus', function() { console.log('Window has focus'); });
window.addEventListener('blur', function() { console.log('Window lost focus'); });
  

или с помощью jQuery:

 $(window).focus(function() { console.log('Window has focus'); });
$(window).blur(function() { console.log('Window lost focus'); });
  

Кроме того, будьте осторожны при использовании оповещений таким образом. Многих пользователей это может немного раздражать.

Комментарии:

1. Я знаю, что подобные оповещения раздражают, но цель страниц, на которых я это внедряю, — НЕ изменять вкладку вашего браузера. Фокусировка и размытие, я думаю, как это сделать

2. Я знаю, что это не предназначено для изменения вкладки, но оповещения позволят сфокусироваться на странице, создающей оповещение. Но, я надеюсь, вы знаете, что делаете, потому что я понятия не имею, что у вас за здание, и может быть критически важно, чтобы пользователи не покидали страницу (онлайн-тестирование?) Надеюсь, я все же ответил на ваш вопрос.

3. Да, это будет онлайн-тестирование, поэтому пользователи должны оставаться на текущей вкладке / окне 🙂