Afs*_*ani 16 javascript asm.js
想象一下,我有一个asmjs脚本,但在运行脚本之前,我想测试并查看浏览器是否支持asm.js.如果是false
,则显示一条消息,指示浏览器是旧的或类似的,否则,执行脚本.
我们能否利用"use asm"
某种方式来检测Web浏览器是否支持asm.js?
function MyAsmModule() {
"use asm";
// module body
}
Run Code Online (Sandbox Code Playgroud)
小智 5
令人遗憾的是,似乎没有真正可靠的方法来检测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.");
}
Run Code Online (Sandbox Code Playgroud)
这是您不情愿地转向客户端字符串检查的情况之一,可能与其他功能检查结合以确定您正在处理的浏览器和版本.
获取该信息后,请检查此列表,以下浏览器和版本支持(由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 (*)
Run Code Online (Sandbox Code Playgroud)
(*):"Chrome不支持提前编译,但Chrome 28中的性能翻了一倍"
归档时间: |
|
查看次数: |
579 次 |
最近记录: |