具有多个参数的HTML 5 webworkers

时间:2016-02-08 13:37:59

标签: javascript html5 web-worker

我刚进入HTML5网络工作者,现在我想将多个参数传递给我的工作人员。

我的页面中有这个:

var username = document.getElementById("username").value;
var server_url = 'localhost';
w.postMessage(username,server_url);

这在我的工作人员中:

var username = '';
var server_url = '';

onmessage = function (e,f) {
    username = e.data;
    server_url = f.data;
}
console.log(username);
console.log(server_url);

当我打开浏览器中调用worker的页面时: Uncaught TypeError: Failed to execute 'postMessage' on 'Worker': The 2nd argument is neither an array, nor does it have indexed properties.

我想做的就是将usernameserver_url传递给工作人员 我知道在示例中我对server_url进行了硬编码,但在实际脚本中,它是动态的。

请不要只说:改变这一点,做到这一点,但为我提供代码,这样我就可以看到它应该如何完成,而不是自己想弄清楚。

1 个答案:

答案 0 :(得分:5)

像这样发帖:

w.postMessage({user:username,url:server_url})

在消息事件上执行:

onmessage = function (e,f) {
    username = e.data.username;
    server_url = e.data.url;
}