PaymentRequest: shippingoptionchange Ereignis

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

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, kann sie bereits aus den relevanten Webstandards entfernt worden sein, befindet sich im Prozess der Entfernung oder wird nur aus Kompatibilitätsgründen beibehalten. Vermeiden Sie die Verwendung und aktualisieren Sie gegebenenfalls bestehenden Code; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu treffen. Beachten Sie, dass diese Funktion jederzeit nicht mehr funktionieren kann.

Kein Standard: Diese Funktion ist nicht standardisiert und befindet sich nicht im Standardisierungsprozess. Verwenden Sie sie nicht auf Produktionsseiten, die auf das Web ausgerichtet sind: Sie wird nicht für alle Benutzer funktionieren. Außerdem kann es 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