Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
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.
DieWebAssembly.validate() statische Methode validiert ein gegebenestypisiertes Array von WebAssembly-Binärcode und gibt zurück, ob die Bytes ein gültiges Wasm-Modul bilden (true) oder nicht (false).
In diesem Artikel
Syntax
WebAssembly.validate(bufferSource)WebAssembly.validate(bufferSource, compileOptions)Parameter
bufferSourceEintypisiertes Array oderArrayBuffer das den zu validierenden WebAssembly-Binärcode enthält.
compileOptionsOptionalEin 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:builtinsOptionalEin Array von Strings, das die Nutzung vonJavaScript 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.importedStringConstantsOptionalEin String, der einen Namespace fürimportierte 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, obbufferSource gültiger Wasm-Code ist (true) oder nicht (false).
Ausnahmen
WennbufferSource keintypisiertes Array oderArrayBuffer ist, wird einTypeError ausgelöst.
Beispiele
>Verwendung von validate
Das folgende Beispiel (siehe den validate.htmlQuellcode undsehen Sie es auch live) ruft ein Wasm-Modul ab und konvertiert es in ein typisiertes Array. Dievalidate()-Methode wird dann verwendet, um zu prüfen, ob das Modul gültig ist.
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.
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> |