2
Ich habe ein Web-Push-System eingerichtet und es funktioniert ziemlich gut.webpush, Wie öffne ich Fenster, wenn keine Tabs
Das Problem, das ich habe, ist, dass auf dem Mac, wenn der Benutzer Firefox geöffnet hat, aber ohne jede Seite geöffnet, wenn er eine Benachrichtigung erhält, ist der Klick verloren. I t tut überhaupt nichts.
hier ist der relevante Teil
self.addEventListener('push', function(event) {
var jsonObj = event.data.json();
var title = jsonObj.title;
event.waitUntil(
self.registration.showNotification(title, {
'body': jsonObj.body,
'icon': jsonObj.icon,
'href': jsonObj.href,
'tag': jsonObj.tag
}));
self.addEventListener('notificationclick', function(event) {
event.notification.close();
var href = jsonObj.href;
var tag = jsonObj.tag;
if (clients.openWindow) {
clients.openWindow(href);
}
/*
// This looks to see if the current is already open and
// focuses if it is
event.waitUntil(
clients.matchAll({
type: "window"
})
.then(function(clientList) {
for (var i = 0; i < clientList.length; i++) {
var client = clientList[i];
if (client.url == href && 'focus' in client)
return client.focus();
}
if (clients.openWindow) {
return clients.openWindow(href);
}
})
);
*/
});
});
Danke, ich werde einige Tests machen und die Ergebnisse veröffentlichen. – sathia
Es scheint zu funktionieren, aber es ist nicht in der Lage, ein Fenster zu öffnen, wenn der Browser keine hat :( – sathia
Es gibt derzeit einen Fehler in Firefox, der verhindert, dass dies funktioniert, wenn keine Fenster geöffnet sind (https://bugzilla.mozilla.org/show_bug.cgi?id=1226434). – Marco