Ach*_*har 18 javascript html5 google-chrome web-worker google-chrome-extension
我有一些关于网络工作者的问题
工人是否可以使用存储空间?例如indexedDB/webSQL和工作者从哪个文件的本地存储?
如何在工作人员中包含文件?我有一个functions.js有很多快速的应用程序相关的功能,它真的没有意义复制粘贴文件的内容在一个工人只有两个不同的地方更新我的功能.
我可以在工作人员中拥有DOM吗?比如在临时音频标签中加载音频文件以读取其持续时间以及是否可播放.不访问父页面的dom,但在worker本身中有一个DOM.
如果任何问题的答案都是否定的,那么如何/应该手动完成?
这适用于Chrome应用,因此我可以访问最新的Chrome API,而且我不需要关心向后兼容性.
Web工作者没有任何DOM访问权限.所有DOM操作必须从主JS线程完成.Web Workers只能通过消息传递与主线程进行通信.
这之前的SO问题告诉你,网络工作者不能访问本地存储,这在过去是很容易用谷歌搜索找到.
同一个线程有一个Web工作者可以访问的列表.
目前还不清楚"在工人中包含文件"是什么意思.您可以导入脚本.我不知道你还在问什么.如果可以帮助您处理音频文件,则可以使用ajax调用来获取数据.
这听起来像你需要做一些关于你能做什么和不能做什么的基本研究(因为在网上有关于它的TON),然后回过头来讨论更多具体的问题.知识.
网络工作者没有任何黑客可以让你做的比你应该做的更多.
你可以在主JS线程中工作,如果你有很多工作要做,并希望尽可能保持主UI的响应,可以使用setTimeout以小块的方式完成.这是一个非常古老的设计模式,可以追溯到线程可用或易于使用之前的日子.它涉及设计你的工作,使得它可以在一些持久对象中存储状态的小块中完成,然后你可以反复做少量的工作然后返回,只是为了在下一个计时器滴答器上接下一段工作.