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 October 2017.
* Some parts of this feature may have varying levels of support.
Die statische Methode WebAssembly.validate()
validiert ein gegebenes typisiertes Array von WebAssembly-Binärcode und gibt zurück, ob die Bytes ein gültiges Wasm-Modul formen (true
) oder nicht (false
).
Syntax
WebAssembly.validate(bufferSource)
WebAssembly.validate(bufferSource, compileOptions)
Parameter
bufferSource
-
Ein typisiertes Array oder ein ArrayBuffer, das den WebAssembly-Binärcode enthält, der validiert werden soll.
compileOptions
Optional-
Ein Objekt, das die Kompilierungsoptionen enthält. Dieser Parameter ist bei der
validate()
-Methode enthalten, damit Module auch mit vorhandenen Kompilierungsoptionen validiert werden können (zum Beispiel zur Implementierung der Feature-Erkennung). Eigenschaften können beinhalten:builtins
Optional-
Ein Array von Zeichenfolgen, das die Verwendung von JavaScript builtins im kompilierten Wasm-Modul ermöglicht. Die Zeichenfolgen definieren die builtins, die Sie aktivieren möchten. Derzeit ist der einzige verfügbare Wert
"js-string"
, der JavaScript-String-Builtins aktiviert. importedStringConstants
Optional-
Eine Zeichenfolge, die einen Namensraum für importierte globale Zeichenfolgenkonstanten spezifiziert. Diese Eigenschaft muss angegeben werden, wenn Sie importierte globale Zeichenfolgenkonstanten 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) lädt ein Wasm-Modul und konvertiert es in ein typisiertes Array. Die Methode validate()
wird dann verwendet, um zu überprü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 Zeichenfolgenimporten
Dieses Beispiel validiert ein Wasm-Modul mit aktivierten JavaScript-String-Builtins und importierten globalen Zeichenfolgenkonstanten und protokolliert "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 laufen.
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
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
validate() static method | ||||||||||||||
compileOptions parameter |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- No support
- No support