PaymentRequest: shippingoptionchange-Ereignis
Deprecated
Avoid using this feature in new projects. This feature may be a candidate for removal from web standards or browsers.>
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Nicht standardisiert: Diese Funktion ist nicht standardisiert. Wir raten davon ab, nicht-standardisierte Funktionen auf produktiven Webseiten zu verwenden, da sie nur von bestimmten Browsern unterstützt werden und sich in Zukunft ändern oder entfernt werden können. Unter Umständen kann sie jedoch eine geeignete Option sein, wenn es keine standardisierte Alternative gibt.
Bei Zahlungsanforderungen, die Versandinformationen anfordern und Versandoptionen anbieten, wird das shippingoptionchange-Ereignis an PaymentRequest gesendet, wenn der Benutzer eine Versandoption aus der Liste der verfügbaren Optionen auswählt.
Die Zeichenfolge, die die aktuell ausgewählte Versandoption identifiziert, steht in der shippingOption-Eigenschaft.
Dieses Ereignis kann nicht abgebrochen werden und wird nicht nach oben weitergegeben.
Syntax
Verwenden Sie den Ereignisnamen in addEventListener():
addEventListener("shippingoptionchange", (event) => { })
Alternativ können Sie ihn der Event-Handler-Eigenschaft des Interfaces zuweisen:
onshippingoptionchange = (event) => { }
Ereignistyp
Ein PaymentRequestUpdateEvent. Erbt von Event.
Beispiele
Dieser Codeausschnitt richtet einen Handler für das shippingoptionchange-Ereignis ein. Der Code berechnet den Gesamtbetrag der Zahlung anhand der ausgewählten Versandoption neu. Wenn es beispielsweise drei Optionen gibt („Kostenloser Standardversand“, „Luftversand innerhalb von zwei Tagen“ und „Lieferung am nächsten Tag“), wird dieser Event-Handler jedes Mal aufgerufen, wenn der Benutzer eine dieser Optionen auswählt, um den Gesamtbetrag entsprechend der geänderten Versandoption neu zu berechnen.
paymentRequest.addEventListener("shippingoptionchange", (event) => {
const value = calculateNewTotal(paymentRequest.shippingOption);
const total = {
label: "Total due",
amount: { currency: "EUR", value },
};
event.updateWith({ total });
});
Anschließend wird eine benutzerdefinierte Funktion, calculateNewTotal(), aufgerufen, um den aktualisierten Gesamtbetrag anhand der neu ausgewählten Versandoption zu berechnen, die durch shippingOption angegeben wird. Der neue Gesamtbetrag wird an die Zahlungsanforderung übergeben, indem die Methode updateWith() des Ereignisses aufgerufen wird.
Sie können einen Event-Handler für shippingoptionchange auch über die zugehörige Event-Handler-Eigenschaft onshippingoptionchange einrichten. Beachten Sie jedoch, dass dadurch gegebenenfalls andere über onshippingoptionchange hinzugefügte Event-Listener ersetzt werden:
paymentRequest.onshippingoptionchange = (event) => {
const value = calculateNewTotal(paymentRequest.shippingOption);
const total = {
label: "Total due",
amount: { currency: "EUR", value },
};
event.updateWith({ total });
};