PaymentRequest: shippingoptionchange Ereignis

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, könnte sie bereits aus den relevanten Webstandards entfernt worden sein, in Kürze entfernt werden oder nur noch aus Kompatibilitätsgründen bestehen. Vermeiden Sie die Verwendung und aktualisieren Sie vorhandenen Code, falls möglich; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu unterstützen. Beachten Sie, dass diese Funktion jederzeit aufhören könnte zu funktionieren.

Nicht standardisiert: Diese Funktion ist nicht standardisiert und befindet sich nicht auf dem Weg zur Standardisierung. Verwenden Sie sie nicht auf Produktionsseiten, die dem Web ausgesetzt sind: Sie funktioniert nicht für alle Benutzer. Es kann auch große Inkompatibilitäten zwischen Implementierungen geben, und das Verhalten kann sich in Zukunft ändern.

Für Zahlungsanforderungen, die Versandinformationen anfordern und für die Versandoptionen angeboten werden, wird das shippingoptionchange Ereignis an das PaymentRequest gesendet, wenn der Benutzer eine Versandoption aus der Liste der verfügbaren Optionen wählt.

Der String, der die aktuell ausgewählte Versandoption identifiziert, kann in der shippingOption Eigenschaft gefunden werden.

Dieses Ereignis ist nicht abbrechbar und wird nicht gebubbelt.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignishandler-Eigenschaft.

js
addEventListener("shippingoptionchange", (event) => {});

onshippingoptionchange = (event) => {};

Ereignistyp

Ereigniseigenschaften

Bietet nur die von Event geerbten Eigenschaften.

Beispiele

Dieses Codebeispiel richtet einen Handler für das shippingoptionchange Ereignis ein. Der Code berechnet die Gesamtkosten für die Zahlung basierend auf der ausgewählten Versandoption neu. Beispielsweise, wenn es drei Optionen gibt (wie "Kostenloser Bodentransport", "2-Tages-Lufttransport" und "Nächster Tag"), wird jedes Mal, wenn der Benutzer eine dieser Optionen auswählt, dieser Ereignishandler aufgerufen, um den Gesamtbetrag basierend auf der geänderten Versandoption neu zu berechnen.

js
paymentRequest.addEventListener(
  "shippingoptionchange",
  (event) => {
    const value = calculateNewTotal(paymentRequest.shippingOption);
    const total = {
      currency: "EUR",
      label: "Total due",
      value,
    };
    event.updateWith({ total });
  },
  false,
);

Nach dem Aufruf einer benutzerdefinierten Funktion, calculateNewTotal(), um den aktualisierten Gesamtbetrag basierend auf der neu ausgewählten Versandoption zu berechnen, wie in der shippingOption angegeben. Der überarbeitete Gesamtbetrag wird durch Aufrufen der Methode updateWith() des Ereignisses zurück zur Zahlungsanforderung übermittelt.

Sie können auch einen Ereignishandler für shippingoptionchange erstellen, indem Sie die entsprechende Ereignishandler-Eigenschaft onshippingoptionchange verwenden:

js
paymentRequest.onshippingoptionchange = (event) => {
  const value = calculateNewTotal(paymentRequest.shippingOption);
  const total = {
    currency: "EUR",
    label: "Total due",
    value,
  };
  event.updateWith({ total });
};

Browser-Kompatibilität

BCD tables only load in the browser