我正在尝试在 webOS 中利用 Web Worker 来进行标牌应用程序,因为存在一个奇怪的错误,即使用 SCAP API 执行文件下载之间的时间呈指数级减慢。
我的想法是尝试网络工作人员下载文件,希望这意味着问题会消失/应用程序会更快一些。
然而,SCAP API 是基于 Cordova 的,而且 Cordova 似乎需要访问 Window 对象,而 Web Worker 似乎无法做到这一点(经过几个小时的尝试,我终于发现了!)
我的问题是,有没有办法让网络工作者与 Cordova 一起工作?
是否有其他类型的工作人员可以访问窗口对象?
基本上,有什么解决办法吗?或者尝试是100%不可能且徒劳的吗?
您不能使用 Service Worker 来控制任何window
object.
服务工作人员在工作人员上下文(而不是浏览器上下文)中运行;因此它没有 DOM 访问权限 https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API.
因为像这样的事情postMessage()
is a window
函数,以及window
是 DOM 的一部分,你不能window.postMessage()
来自服务人员。不幸的是,client.postMessage()
仅适用于来自同一域源(和服务工作线程“范围”)的浏览器上下文(选项卡、窗口等)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)