有没有办法可以从Web Worker访问chrome。* apis(特别是chrome.history
)?
如果我使用postMessage
传递chrome.history或chrome对象,则由于Transferable
类型的转换错误而无效。
我可以从我的扩展中成功查询历史记录并传递结果,但我想将繁重的工作留给工作人员而不是主线程,然后传递结果。
答案 0 :(得分:2)
Web Workers应该是轻量级的,并且不会从扩展中继承任何权限(not even host permissions)(此外,甚至在Web工作者中也没有定义chrome
)。
如果您使用chrome.history
API的结果做了很多事情,那么您可以将回调的结果传递给工作人员进行处理(使用Transferables,开销很小)。在此之前,请确保您分析性能影响是否真的非常重要,以保证实现这样的任何事情。