繁体   English   中英

如何在Web浏览器中测试asm.js的可用性?

[英]How to test the availability of asm.js in a web browser?

想象一下,我有一个asmjs脚本,但在运行脚本之前,我想测试并查看浏览器是否支持asm.js。 如果为false ,则显示一条消息,指示浏览器已旧或类似,否则执行脚本。

我们能否以某种方式利用"use asm"的想法来检测Web浏览器是否支持asm.js?

function MyAsmModule() {
    "use asm";
    // module body
}

令人遗憾的是,似乎没有真正可靠的方法来检测asm.js的浏览器支持。

运行此段将产生错误,但不是可捕获的错误:

 try { (function MyAsmModule() {"use asm"})(); console.log("asm.js OK"); // Now, hit F12 to open the browser console just to find a TypeError that states: // "asm.js type error: expecting return statement" } catch(err) { // will never show... console.log("asm.js not supported."); } 

这是您不情愿地转向客户端字符串检查的情况之一,可能与其他功能检查结合以确定您正在处理的浏览器和版本

获取该信息后,请检查此列表,以下浏览器和版本支持( 由caniuse.com提供 )asm.js,截至此日期:

版本号已经包括在内 - 我还包含了用户群非常小的浏览器,因为这些信息也可用:

Firefox             : v. 22
Chrome              : v. 28    (*)
Edge                : v. 13
Opera               : v. 15    (*)
Android browser     : v. 56    (*)
Opera mobile        : v. 37    (*)
Chrome for Android  : v. 59    (*)
Firefox for Android : v. 54
Samsung internet    : v.  5    (*)
QQ browser          : v.  1.2  (*)
Baidu browser       : v.  7.12 (*)

* ):“Chrome不支持提前编译,但Chrome 28中的性能翻了一倍”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM