Jamie888 Ответов: 1

Веб-push - уведомление не отображается/всплывающее окно во второй раз вперед


Привет, у меня есть приложение PWA в MVC. В настоящее время я разрабатываю часть уведомлений, где тост уведомления будет предлагаться пользователям в определенных случаях. У меня есть сервисный работник, который будет обрабатывать событие "push", как показано ниже.:
self.addEventListener('push', event => {
    var payload = event.data.text();
    var options = {
            body: payload,
            icon: '~/images/favicon.ico'
            //data : payload
        };

    event.waitUntil(self.registration.showNotification('Notification Testing', options));
});


Когда я запускаю приложение в браузере(Chrome), тост уведомления действительно выскакивает, что означает, что событие "push" может успешно справиться с толчком. Но когда я снова запускаю событие "push", тост не появляется.

Что я уже пробовал:

1. попробовал нажать на кнопку "Push" под инструментом разработчика Chrome, и всплывает тост уведомления.
2. попробовал вызвать метод в моем контроллере во второй раз, и тост уведомления не появился. Так бывает только в первый раз.
3. Нужно очистить кэш в истории Chrome и очистить данные сайта на вкладке "приложение" в инструменте разработчика Chrome и перезагрузить страницу, чтобы появился только тост уведомления.
4. проверили сервисного работника, и все в порядке.

1 Ответов

Рейтинг:
2

ndp1007

Я столкнулся с этой проблемой.
Параметры парам вы пропустили этот реквизит :

requireInteraction: true
Поскольку уведомление всплывающее окно будет автоматически закрываться после 12сек если requireInteraction опора является ложным.
Таким образом, вы должны добавить эту опору и две кнопки действий вместе (закрыть и открыть) в нижней части всплывающего окна уведомления.
Я нахожу причину, по которой уведомление не отображается после автоматического закрытия всплывающего окна или щелчка пользователя по стрелке вправо