I just got into HTML5 webworkers and now I want to pass multiple arguments to my worker.
I have this in my page:
var username = document.getElementById("username").value;
var server_url = 'localhost';
w.postMessage(username,server_url);
and this in my worker:
var username = '';
var server_url = '';
onmessage = function (e,f) {
username = e.data;
server_url = f.data;
}
console.log(username);
console.log(server_url);
and when I open it the page which calls the worker in the browser:
Uncaught TypeError: Failed to execute 'postMessage' on 'Worker': The 2nd argument is neither an array, nor does it have indexed properties.
all I want to do is have the username
and server_url
getting passed to the worker
I know that in the examples I hardcoded the server_url
, but in the real script, it's dynamic.
Please don't just say: change this, do that, but provide me with code so I can see how it should be done rather than still having to figure it out myself.
Post like this:
w.postMessage({
user: username,
url: server_url
})
on message event do:
onmessage = function (e) {
username = e.data.user;
server_url = e.data.url;
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With