我正在开发一个在我的default.html页面上包含iframe的项目, 我试图使用Workers.js作为调解员将第1页的变量传递给我的iframe,
意思是说:
My First page : default.html, that send message to worker.js
-----------------------------
| default.html | var worker = Worker("ms-appx:///js/worker.js");
| | worker.postMessage({ calc: 1000 });
| -------- |
| |internal| |
| | iframe | |
| | | |
| -------- |
-----------------------------
Worker.js: - >
var total;
onmessage = function (event) {
calc = event.data.calc;
for (var i = 0; i <= calc; i++) {
//some work
total = 1+i; //as example
};
postMessage({ calc: total });}
现在,我尝试向使用相同worker.js的Iframe接收消息
iframe本地页面:
var worker = Worker("ms-appx:///js/worker.js");
worker.addEventListener("message",function (e) {
alert(e.data.calc); //not getting message from worker.js on this page ???
});
他们的任何解决方案都是使用worker.js将消息从一个页面传递到另一个页面
对不起任何语法错误!!
答案 0 :(得分:0)
回答你的问题:没有
工人在“沙箱”中运行并且范围有限。他们无法访问 大多数网页的对象模型,但有权访问 全局核心JavaScript对象。
无法在两个页面之间共享工作程序。正如jackerella所说,你可以使用共享工作者,但他们还不支持。
看一下documentation here的最后一行,它说:
此版本不支持共享工作者。