Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

WebAssembly.validate()

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨Oktober 2017⁩.

* Some parts of this feature may have varying levels of support.

>

Die WebAssembly.validate() statische Methode validiert ein gegebenes typisiertes Array von WebAssembly-Binärcode und gibt zurück, ob die Bytes ein gültiges Wasm-Modul bilden (true) oder nicht (false).

Syntax

js
WebAssembly.validate(bufferSource)
WebAssembly.validate(bufferSource, compileOptions)

Parameter

bufferSource

Ein typisiertes Array oder ArrayBuffer das den zu validierenden WebAssembly-Binärcode enthält.

compileOptions Optional

Ein Objekt, das Kompilierungsoptionen enthält. Dieser Parameter ist in der validate()-Methode enthalten, damit er verwendet werden kann, um Module zu validieren, wenn Kompilierungsoptionen vorhanden sind (zum Beispiel, um Funktionsdetektion zu implementieren). Eigenschaften können beinhalten:

builtins Optional

Ein Array von Strings, das die Nutzung von JavaScript Builtins im kompilierten Wasm-Modul ermöglicht. Die Strings definieren die Builtins, die Sie aktivieren möchten. Derzeit ist der einzige verfügbare Wert "js-string", der JavaScript-String-Builtins aktiviert.

importedStringConstants Optional

Ein String, der einen Namespace für importierte globale String-Konstanten angibt. Diese Eigenschaft muss angegeben werden, wenn Sie importierte globale String-Konstanten im Wasm-Modul verwenden möchten.

Rückgabewert

Ein Boolean, der angibt, ob bufferSource gültiger Wasm-Code ist (true) oder nicht (false).

Ausnahmen

Wenn bufferSource kein typisiertes Array oder ArrayBuffer ist, wird ein TypeError ausgelöst.

Beispiele

>

Verwendung von validate

Das folgende Beispiel (siehe den validate.html Quellcode und sehen Sie es auch live) ruft ein Wasm-Modul ab und konvertiert es in ein typisiertes Array. Die validate()-Methode wird dann verwendet, um zu prüfen, ob das Modul gültig ist.

js
fetch("simple.wasm")
  .then((response) => response.arrayBuffer())
  .then((bytes) => {
    const valid = WebAssembly.validate(bytes);
    console.log(
      `The given bytes are ${valid ? "" : "not "}a valid Wasm module`,
    );
  });

Validierung eines Moduls mit aktivierten JavaScript Builtins und globalen String-Imports

Dieses Beispiel validiert ein Wasm-Modul mit aktivierten JavaScript-String-Builtins und importierten globalen String-Konstanten und loggt "Wasm module valid: true" in die Konsole, wenn es gültig ist, und "Wasm module valid: false", wenn es nicht gültig ist. Sehen Sie es live.

js
const compileOptions = {
  builtins: ["js-string"], // Enable JavaScript string builtins
  importedStringConstants: "string_constants", // Enable imported global string constants
};

fetch("log-concat.wasm")
  .then((response) => response.arrayBuffer())
  .then((bytes) => WebAssembly.validate(bytes, compileOptions))
  .then((result) => console.log(`Wasm module valid: ${result}`));

Spezifikationen

Specification
WebAssembly JavaScript Interface>
# dom-webassembly-validate>

Browser-Kompatibilität

Siehe auch