0

我正在尝试在 Chrome 扩展程序中使用清单 v3 运行 WebAssembly 的库。

我有一个sandbox.html执行一些 JavaScript 的基本文件(调用它):

if (typeof WebAssembly === "object" && typeof WebAssembly.instantiate === "function") {
    const module = new WebAssembly.Module(Uint8Array.of(0x0, 0x61, 0x73, 0x6d, 0x01, 0x00, 0x00, 0x00));
}

这是嵌入在带有此标签的页面中:

<iframe
    sandbox="allow-same-origin allow-scripts" 
    csp="script-src 'self' 'unsafe-eval'; object-src 'self'" src="sandbox.html">
</iframe>

我没有添加sandbox或添加content_security_policy到我的manifest.json,因为我需要allow-same-origin,请参阅此评论

但是我收到以下错误:

Uncaught CompileError: WebAssembly.Module(): Wasm code generation disallowed by embedder

根据thisthis,建议 usingunsafe-eval应该足以让这个运行。但是据我所知,我正在这样做,但我仍然收到此错误。

(我相信我应该使用wasm-evalover unsafe-eval;我都尝试过,但都没有工作。我也尝试过在我的钥匙中包含content_security_policywithout但不包括钥匙。)allow-same-originmanifest.jsonsandbox

我错过了什么吗?

4

0 回答 0