写了个精简的 WebAssembly 模块做测试:
(module
(table (;0;) (export "a") 2 2 funcref)
(memory (;0;) (export "b") 64 64)
(global (mut i32) (i32.const 1))
(elem (i32.const 1) funcref (ref.func $1))
(func $1 (;0;) (export "c")
nop
)
)
通过 https://webassembly.github.io/wabt/demo/wat2wasm/ 转换。
主浏览器测试都没问题,但在线测试发现不少用户报错:
WebAssembly.Module doesn't parse at byte 20: Table section of size 5 would overflow Module's size (evaluating 'new WebAssembly.Module(c)')
而且都是 iOS 15 之前 Safari 浏览器。
这个测试案例用的都是 emscripten 编译的 wasm 的基本特性,没用更高级的特性。对于这种情况,需要考虑兼容性吗?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.