我刚进入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.
我想做的就是将username
和server_url
传递给工作人员
我知道在示例中我对server_url
进行了硬编码,但在实际脚本中,它是动态的。
请不要只说:改变这一点,做到这一点,但为我提供代码,这样我就可以看到它应该如何完成,而不是自己想弄清楚。
答案 0 :(得分:5)
像这样发帖:
w.postMessage({user:username,url:server_url})
在消息事件上执行:
onmessage = function (e,f) {
username = e.data.username;
server_url = e.data.url;
}