悲しい状況では、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.");
}
これはおそらくと組み合わせて、あなたはしぶしぶクライアントの文字列のチェックを有効にする必要があり、それらの例です:このセグメントが捕捉可能な1エラーを生成しませんが、実行
あなたが扱っているdetermine which browser and versionへの他の機能チェック。
その情報はこの日付のように、ブラウザとバージョンサポート(courtesy of 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 (*)
(*):
を「クローム事前コンパイラが、パフォーマンスはクローム28で倍増をサポートしていません」
出典
2017-07-27 00:05:22
K3N
できない可能性がありますhttps://github.com/kangax/compat-table/issues/447 –
なぜそれを検出したいですか?サポートされていない場合、少し遅く実行される可能性があります。 –
@ JonaswブラウザがArrayBufferをサポートしていない場合でも動作すると思いますか? –