Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在web浏览器中测试asm.js的可用性?_Javascript_Asm.js - Fatal编程技术网

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

Javascript 如何在web浏览器中测试asm.js的可用性?,javascript,asm.js,Javascript,Asm.js,假设我有一个asmjs脚本,但在运行脚本之前,我想测试一下浏览器是否支持asm.js。如果为false,则显示一条消息,指示浏览器已过时或类似情况,否则,执行脚本 我们能否以某种方式利用“使用asm”的思想来检测web浏览器是否支持asm.js function MyAsmModule() { "use asm"; // module body } 令人悲哀的是,似乎没有真正可靠的方法来检测对asm.js的浏览器支持 运行此段将产生错误,但不是可捕获的错误: 试试看{ (函数

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

我们能否以某种方式利用
“使用asm”
的思想来检测web浏览器是否支持asm.js

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

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

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

试试看{
(函数MyAsmModule(){“使用asm”})();
console.log(“asm.js OK”);
//现在,点击F12打开浏览器控制台,只需找到一个TypeError,该错误表示:
//“asm.js类型错误:应为return语句”
}
捕捉(错误){
//永远不会显示。。。
log(“不支持asm.js”);

}
可能不可行,为什么要检测?如果它不受支持,它可能会运行得稍慢。不,但我认为您可以测试是否支持ArrayBuffers。。。如果(!“ArrayBuffer”在此)抛出错误(“不支持”);也许您可以获得浏览器版本并将其与此进行比较:对另外两个相同的函数进行基准测试,看看其中一个是否更快。