我想使用HTML5网络工作者定期向restful服务器报告经度和纬度--即使选项卡不在焦点。我的问题是,我通常访问HTML5 地理定位函数的方式在worker中是不可用的。
我尝试的是发送地理定位对象,从我的主文件到网络工作者。但是,这不起作用,我得到了以下错误:
Uncaught :未能在‘Worker’上执行'postMessage‘:无法克隆对象。
接下来,我尝试导入一个JavaScript库,该库提供名为地学仪的地理定位服务。但是,我发现我无法访问工作者中的库(我认为是因为工作人员没有访问DOM的权限)。
因此,为了解决这一问题,我将这个JavaScript库的源代码直接添加到了工作文件中,但是这不能工作,因为我无法访问在整个地学仪源中重复使用的window。
我想做的事有可能吗?有什么可供选择的吗?
发布于 2016-03-22 19:32:41
工作人员包含一个WorkerNavigator,它只包含主线程中navigator属性的一个子集。
因为WorkerNavigator缺少一个Geolocation对象,并且Geolocation对象不能序列化为一个工作人员,所以在web工作者的内部似乎不能使用Geolocation。相反,您必须从主线程进行报告。
发布于 2017-07-21 22:56:06
您的建议有一个工作示例,可以在这问题上找到。它目前只在Firefox上工作(出于错误的原因),在W3C/IETF有实质性的制度改变之前,要实现它是不容易的。
但是和你一样,在现实世界中也有很多----这样的要求,我相信我的建议如果不是全部的话,也能满足大多数人的要求。
https://stackoverflow.com/questions/36163332
复制相似问题