Многократное появление веб-уведомления - PullRequest
0 голосов
/ 12 марта 2019

Я хочу показать веб-уведомление пользователям, если они оставили страницу открытой в течение 10 секунд.Я уже получил разрешение на уведомление. Проблема Здесь уведомление появляется несколько раз , даже если пользователь возвращается на страницу менее чем за 10 секунд.Уже используйте clearTimeout для сброса значения myVar .... но не повезло ..... любую помощь!

var myVar;
window.onblur = function myFunction() {
    myVar = setTimeout(function () {
        var notification = new Notification("XXX page is open in background ");
    }, 10000);
    clearTimeout(myVar);
};

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

1 Ответ

0 голосов
/ 12 марта 2019

Ну, это может быть связано с тестированием.Вы должны понимать, что window.onblur срабатывает каждый раз, когда вы покидаете страницу.Так что, если вы уйдете, войдите, выйдите, войдите, выйдите, вы получите 3 всплывающих окна;каждое событие выполняется независимо.

Что вам нужно сделать, это вызвать clearTimeout () в вашем событии window.onfocus;не забудьте очистить переменную myVar как в коде обработки всплывающих окон, так и в событии onfocus (и проверьте, является ли он пустым или нет).

...