перенаправить пользователя после нажатия на уведомление с помощью js

avatar
sajjad
8 августа 2021 в 19:08
66
1
2

я использую этот код для отправки уведомлений моему пользователю:

Notification.requestPermission(function(result) {
                    if (result === 'granted') {
                        navigator.serviceWorker.ready
                            .then(function(registration) {
                                registration
                                    .showNotification('new message from ' + message.user, {
                                        body: message.message,
                                        vibrate: [200, 100, 200, 100, 200, 100, 200],
                                        tag: 'message'
                                    });
                            })
                        ;
                    }else {
                        alert('new message from ' + message.user + '\n please allow notification to get notification when a message receive.')
                    }
                });

как перенаправить пользователя на определенный URL-адрес после нажатия на уведомление?

Источник

Ответы (1)

avatar
sajjad
8 августа 2021 в 22:21
1

Я пробую это и работаю, надеюсь, это будет полезно для других.

Notification.requestPermission(function(result) {
                    if (result === 'granted') {
                        navigator.serviceWorker.register('/sw.js');
                        navigator.serviceWorker.ready
                            .then(function(registration) {
                                registration
                                    .showNotification('new message from ' + message.user, {
                                        body: message.message,
                                        vibrate: [200, 100, 200, 100, 200, 100, 200],
                                        tag: 'message',
                                        data : {email: message.email}
                                    })
                                ;
                            })
                        ;
                    }else {
                        alert('new message from ' + message.user + '\n please allow notification to get notification when a message receive.')
                    }
                });

и в файле 'sw.js' добавьте следующее:

self.addEventListener('notificationclick', function(event) {
    clients.openWindow('url');
    event.notification.close();
}, false);