我正在尝试利用webOS中的网络工作人员进行标牌应用,原因是一个奇怪的错误,即使用SCAP API执行文件下载之间的时间呈指数级减慢。
我的想法是尝试网络工作人员下载文件,希望这意味着问题会消失/应用程序会更快一些。
然而,SCAP API基于Cordova,它似乎Cordova需要访问Window对象,Web Worker无法做到这一点(我终于在尝试了几个小时后发现了!)
我的问题是,无论如何要让网络工作者与Cordova一起工作吗?
是否有其他类型的工作人员可以访问窗口对象?
基本上,这有什么解决方案吗?或者它是100%不可能和无用的尝试?
答案 0 :(得分:0)
您不能使用服务工作者来控制任何window
对象。
服务工作者在工作者上下文(而不是浏览器上下文)中运行;因此has no DOM access。
由于postMessage()
之类的功能是window
的功能,并且window
是DOM的一部分,因此您不能
window.postMessage()
来自服务人员。不幸的是,client.postMessage()
仅在来自相同域起源(和服务工作者“作用域”)的浏览器上下文(选项卡,窗口等)之间起作用。