工人、网络或服务;访问窗口对象

Workers, web or service; anyway to access window object?

本文关键字:访问 窗口 对象 服务 网络 工人      更新时间:2023-09-26

我正在尝试在webOS中使用web worker进行标牌应用程序,因为使用SCAP API执行文件下载之间的时间呈指数级下降。

我的想法是尝试网络工作者下载文件,希望这意味着问题会消失/应用程序会更灵活。

然而,SCAP API是基于Cordova和它似乎Cordova需要访问窗口对象,一些Web工作者不能做的事情似乎(我终于发现经过几个小时的尝试!)

我的问题是,无论如何都要让web工作者与Cordova一起工作吗?

是否有其他类型的工作者可以访问窗口对象?

基本上,有什么解决办法吗?或者是百分之百的不可能和徒劳的尝试?

你不能用service worker来控制任何window对象。

Service worker运行在worker上下文中(而不是浏览器上下文中);因此它没有DOM访问权限。

因为postMessage()window函数,而window是DOM的一部分,所以不能从service worker获取window.postMessage()。不幸的是,client.postMessage()只适用于来自相同域(和service worker "scope")的浏览器上下文(标签,窗口等)。