В браузере Chrome событие onclick не запускается - PullRequest
0 голосов
/ 20 ноября 2018

Я создаю уведомления браузера, и он отлично работает в Firefox и Edge.Но по какой-то причине он не работает в Chrome.Я вижу уведомление, но когда я нажимаю на уведомление, оно не срабатывает.Это мой код:

function notifyMe(text) {
    if (Notification.permission !== "granted")
        Notification.requestPermission();
    else {
        var notification = new Notification('Notification title', {               
            body: text,
            requireInteraction: true     
        });
        notification.onclick = function (event) {
            alert("clicked");
            event.preventDefault(); 
            console.log('Notification clicked.');
        } 

    }      
}

Итак, мой вопрос, почему notificaion.onclick не запускается в Chrome?

1 Ответ

0 голосов
/ 20 ноября 2018

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

function notifyMe(text) {
    if (Notification.permission !== "granted")
        Notification.requestPermission();
    else {
        var notification = new Notification('Notification title', {               
            body: text,
            requireInteraction: true     
        });
        notification.onclick = function (event) {
            alert("onClick!");
            event.preventDefault(); 
            console.log('Notification clicked.');
        } 
        notification.onclose = function (event) {
            alert("onClose!");
            event.preventDefault(); 
            console.log('Notification clicked.');
        } 
    }      
}

или попробуйте использовать EventListener:

function notifyMe(text) {
    if (Notification.permission !== "granted")
        Notification.requestPermission();
    else {
        var notification = new Notification('Notification title', {               
            body: text,
            requireInteraction: true     
        });
        notification.addEventListener("click", function (event) {
            alert("onClick!");
            event.preventDefault(); 
            console.log('Notification clicked.');
        } )
        notification.addEventListener("close", function (event) {
            alert("onClose!");
            event.preventDefault(); 
            console.log('Notification clicked.');
        } )

    }      
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...