cmd/gogio: use URL query for passing arguments to wasm programs

The location.hash method doesn't work correctly with multiple
iframes and Safari.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2020-05-22 16:22:08 +02:00
parent fc2a2ae615
commit 60bed57cd7
+5 -6
View File
@@ -51,12 +51,11 @@ func buildJS(bi *buildInfo) error {
const go = new Go();
// Pick up argv from location hash (#args).
var hash = location.hash;
if (hash.length > 0 && hash[0] == '#') {
hash = decodeURIComponent(hash.substr(1));
go.argv = hash.split(" ");
go.argv.unshift("gio"); // os.Args(0)
// Pick up argv from the argv query argument (if set).
const params = new URLSearchParams(location.search);
const argv = params.get("argv");
if (argv) {
go.argv = go.argv.concat(argv.split(" "));
}
WebAssembly.instantiateStreaming(fetch("main.wasm"), go.importObject).then((result) => {