ServiceWorkerGlobalScope: canmakepayment-Ereignis
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more browser support for this feature? Tell us why.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Hinweis: Diese Funktion ist nur in Service Workers verfügbar.
Das canmakepayment-Ereignis der Schnittstelle ServiceWorkerGlobalScope wird beim Service Worker einer Zahlungs-App ausgelöst, um zu prüfen, ob er bereit ist, eine Zahlung zu verarbeiten. Konkret wird es ausgelöst, wenn die Händlerwebsite den Konstruktor PaymentRequest() aufruft.
Syntax
Verwenden Sie den Ereignisnamen in addEventListener():
addEventListener("canmakepayment", (event) => { })
Alternativ können Sie der Event-Handler-Eigenschaft der Schnittstelle einen Wert zuweisen:
oncanmakepayment = (event) => { }
Ereignistyp
Ein CanMakePaymentEvent. Es erbt von ExtendableEvent.
Beispiele
Das canmakepayment-Ereignis wird beim Service Worker einer Zahlungs-App ausgelöst, um zu prüfen, ob er bereit ist, eine Zahlung zu verarbeiten. Konkret wird es ausgelöst, wenn die Händlerwebsite den Konstruktor PaymentRequest() aufruft. Der Service Worker kann dann mit der Methode CanMakePaymentEvent.respondWith() entsprechend antworten:
self.addEventListener("canmakepayment", (e) => {
e.respondWith(
new Promise((resolve, reject) => {
someAppSpecificLogic()
.then((result) => {
resolve(result);
})
.catch((error) => {
reject(error);
});
}),
);
});
respondWith() gibt ein Promise zurück, das mit einem booleschen Wert erfüllt wird. Dieser gibt an, ob der Service Worker bereit ist, eine Zahlungsanforderung zu verarbeiten (true), oder nicht (false).
Spezifikationen
| Spezifikation |
|---|
| Web-based Payment Handler API> # the-canmakepaymentevent> |