Я установил сервисный работник в своем приложении реакции для настройки push-уведомлений, и уведомления работают правильно на chrome, но не на firefox.У меня есть код в pushung-уведомлениях showung, только когда целевой URL-адрес во всплывающем окне уведомлений не соответствует windowClient.url, но кое-как в firefox windowClient.url дает правильный URL-адрес.
это код, который я использовал:
self.addEventListener('install', function(e) {
self.skipWaiting();
});
self.addEventListener('activate', function(e) {
self.clients.claim();
});
self.addEventListener('push', function(event) {
event.waitUntil(
self.clients
.matchAll({
type: 'window',
includeUncontrolled: true,
})
.then(windowClients => {
var matchingClient = null;
url = null;
if (!(self.Notification && self.Notification.permission === 'granted')) {
return;
}
let data = {};
if (event.data) {
data = event.data.json();
}
url = data.action;
for (let i = 0; i < windowClients.length; i++) {
const windowClient = windowClients[i];
if (windowClient.url === url && windowClient.focused === true) {
matchingClient = url;
break;
}
}
if (!matchingClient) {
return self.registration.showNotification(data.title, {
body: data.body,
icon: 'logo.png',
});
}
}),
);
});
self.addEventListener('notificationclick', function(event) {
event.notification.close();
event.waitUntil(clients.openWindow(url));
});
Есть ли проблема с URL окна клиента в Firefox?Версия Firefox, которую я использую - 66.