MediaError: message-Eigenschaft

Die schreibgeschützte Eigenschaft MediaError.message gibt einen menschlich lesbaren String zurück, der spezifische Diagnosedetails im Zusammenhang mit dem durch das MediaError-Objekt beschriebenen Fehler bietet oder einen leeren String (""), wenn keine Diagnoseinformationen ermittelt oder bereitgestellt werden können.

Wert

Ein String, der eine detaillierte und spezifische Erklärung dessen bietet, was schiefgelaufen ist und möglicherweise wie das Problem behoben werden könnte. Dies ist nicht eine generische Beschreibung des Werts der MediaError.code-Eigenschaft, sondern geht tiefer in die spezifischen Details dieses bestimmten Fehlers und seiner Umstände. Wenn keine spezifischen Details verfügbar sind, ist dieser String leer.

Beispiele

Dieses Beispiel erstellt ein <audio>-Element, richtet einen Fehlerbehandler dafür ein und ermöglicht es dem Benutzer, Buttons anzuklicken, um zu wählen, ob eine gültige Audiodatei oder eine fehlende Datei dem src-Attribut des Elements zugewiesen wird. Der Fehlerbehandler gibt eine Nachricht auf einer Box auf dem Bildschirm aus, die den Fehler beschreibt, einschließlich sowohl des code als auch der message.

Nur die relevanten Teile des Codes werden 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. Dies ermöglicht uns, das Verhalten des error-Ereignisbehandlers zu sehen, der von einem Ereignisbehandler empfangen wird, den wir dem <audio>-Element selbst hinzufügen.

Der Fehlerbehandler 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>`);
};

Er erhält das MediaError-Objekt, das den Fehler beschreibt, über die error-Eigenschaft auf dem HTMLAudioElement, das den Audioplayer darstellt. Das Attribut code des Fehlers wird überprüft, um eine generische Fehlermeldung anzuzeigen und, falls message nicht leer ist, wird es angehängt, um zusätzliche Details bereitzustellen. Dann wird der resultierende Text in das Protokoll ausgegeben.

Ergebnis

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

Spezifikationen

Specification
HTML Standard
# dom-mediaerror-message-dev

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch