我正在尝试在 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
根据this和this,建议 usingunsafe-eval
应该足以让这个运行。但是据我所知,我正在这样做,但我仍然收到此错误。
(我相信我应该使用wasm-eval
over unsafe-eval
;我都尝试过,但都没有工作。我也尝试过在我的钥匙中包含content_security_policy
without但不包括钥匙。)allow-same-origin
manifest.json
sandbox
我错过了什么吗?