如何检查浏览器是否支持WebAssembly?

问题描述 投票:27回答:2

随着所有新的主要浏览器都支持WebAssembly,如何检查正在访问我的网站的当前浏览器是否支持它?

browser webassembly
2个回答
41
投票

您可以通过几种方法来检测WebAssembly的存在。最基本的方法是检查全局范围内的WebAssembly类型是否为"object",但是在不同的JavaScript环境(主浏览器线程,worker,node.js)中,“全局范围”是一件棘手的事情。 >

这样做在技术上还不够,因为您可能具有WebAssembly支持,但由于CSP而无法实际编译或实例化(并且CSP不允许的功能尚未标准化,正在进行here)。

保守的检查可能如下:


0
投票

(信誉不足,无法发表评论。...)如果您正在较旧的浏览器上进行测试,则不支持() =>语法,因此可以将其全部用作一个函数:

function wasmSupported() {
    // try/catch, return false; as in JF Bastien's answer
}

if(wasmSupported()) { ... }
© www.soinside.com 2019 - 2024. All rights reserved.