Как проверить доступность asm.js в веб-браузере?

Представьте, что у меня есть asmjs script, но перед запуском script, я бы хотел проверить и посмотреть, поддерживает ли браузер asm.js или нет. Если это false, отобразите сообщение о том, что браузер старый или что-то в этом роде, в противном случае выполните script.

Можно ли как-то использовать идею "use asm", чтобы определить, поддерживает ли веб-браузер asm.js?

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

Ответ 1

Печальная ситуация заключается в том, что не существует реального надежного способа обнаружения поддержки браузера 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.");
}