MediaError: Eigenschaft message

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Die schreibgeschützte Eigenschaft MediaError.message gibt eine für Menschen verständliche Zeichenkette zurück, die spezifische diagnostische Details im Zusammenhang mit dem vom MediaError-Objekt beschriebenen Fehler bietet, oder einen leeren String (""), wenn keine diagnostischen Informationen ermittelt oder bereitgestellt werden können.

Wert

Eine Zeichenkette, die eine detaillierte, spezifische Erklärung darüber gibt, was schiefgelaufen ist und möglicherweise wie es behoben werden kann. Dies ist keine allgemeine Beschreibung des Wertes der MediaError.code Eigenschaft, sondern geht tiefer ins Detail dieses speziellen Fehlers und seiner Umstände. Wenn keine spezifischen Details verfügbar sind, ist diese Zeichenkette leer.

Beispiele

Dieses Beispiel erstellt ein <audio>-Element, richtet einen Fehler-Handler dafür ein und lässt den Benutzer Schaltflächen anklicken, um zu wählen, ob eine gültige Audiodatei oder eine fehlende Datei dem src-Attribut des Elements zugewiesen werden soll. Der Fehler-Handler gibt eine Nachricht in einem Feld auf dem Bildschirm aus, die den Fehler beschreibt, einschließlich sowohl des code als auch der message.

Es werden nur die relevanten Teile des Codes angezeigt; Sie können den vollständigen Quellcode hier sehen.

Das Beispiel erstellt ein <audio>-Element und lässt den Benutzer entweder eine gültige Musikdatei oder einen Link zu einer nicht existierenden Datei zuweisen. Dadurch können wir das Verhalten des error-Ereignis-Handlers beobachten, welches von einem Event-Handler entgegengenommen wird, den wir dem <audio>-Element selbst hinzufügen.

Der Fehler-Handler sieht folgendermaßen aus:

js
audioElement.onerror = () => {
  let s = "";
  const err = audioElement.error;

  switch (err.code) {
    case MediaError.MEDIA_ERR_ABORTED:
      s += "The user canceled the audio.";
      break;
    case MediaError.MEDIA_ERR_NETWORK:
      s += "A network error occurred while fetching the audio.";
      break;
    case MediaError.MEDIA_ERR_DECODE:
      s += "An error occurred while decoding the audio.";
      break;
    case MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED:
      s +=
        "The audio is missing or is in a format not supported by your browser.";
      break;
    default:
      s += "An unknown error occurred.";
      break;
  }

  const message = err.message;

  if (message?.length > 0) {
    s += ` ${message}`;
  }

  displayErrorMessage(`<strong>Error ${err.code}:</strong> ${s}<br>`);
};

Dies erhält das MediaError-Objekt, das den Fehler beschreibt, von der error-Eigenschaft des HTMLAudioElement, das den Audio-Player repräsentiert. Die code-Attribut des Fehlers wird geprüft, um eine allgemeine Fehlermeldung anzuzeigen, und, falls message nicht leer ist, wird es angehängt, um zusätzliche Details zu liefern. Dann wird der resultierende Text ins Log ausgegeben.

Ergebnis

Sie können dieses Beispiel unten ausprobieren und das Beispiel außerhalb dieser Seite in Aktion sehen.

Spezifikationen

Specification
HTML
# dom-mediaerror-message-dev

Browser-Kompatibilität

Siehe auch