From 4c29f0fdb68d8a3980a64cf4d7790efd779f7e71 Mon Sep 17 00:00:00 2001 From: admin Date: Mon, 11 Feb 2019 18:19:33 +0900 Subject: [PATCH] wasm: support wasm example on Safari --- src/examples/wasm/wasm.js | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/examples/wasm/wasm.js b/src/examples/wasm/wasm.js index 2d2f091b..030d0bbe 100644 --- a/src/examples/wasm/wasm.js +++ b/src/examples/wasm/wasm.js @@ -13,11 +13,23 @@ function init() { document.querySelector('#b').oninput = updateResult; const go = new Go(); - WebAssembly.instantiateStreaming(fetch(WASM_URL), go.importObject).then(function(obj) { - wasm = obj.instance; - go.run(wasm); - updateResult(); - }) + if ('instantiateStreaming' in WebAssembly) { + WebAssembly.instantiateStreaming(fetch(WASM_URL), go.importObject).then(function(obj) { + wasm = obj.instance; + go.run(wasm); + updateResult(); + }) + } else { + fetch(WASM_URL).then(resp => + resp.arrayBuffer() + ).then(bytes => + WebAssembly.instantiate(bytes, go.importObject).then(function(obj) { + wasm = obj.instance; + go.run(wasm); + updateResult(); + }) + ) + } } init();