Google chrome extension 在清单v3中使用地理定位

Google chrome extension 在清单v3中使用地理定位,google-chrome-extension,Google Chrome Extension,我正在使用manifestv3创建一个Chrome扩展 我需要使用用户的位置向API发出请求,这目前在后台使用服务工作者异步发生。但是,服务人员无法使用地理定位API 关于如何在不迁移到manifest v2的情况下合并用户位置,有什么建议吗?我认为问题不在于MV3后台服务人员。 调用geolocation.getCurrentPosition(成功,错误) from background V2不会生成任何错误,但会触发错误回调函数 基本上,地理定位似乎没有成功。 您应该从扩展页调用本地化方法(

我正在使用manifestv3创建一个Chrome扩展

我需要使用用户的位置向API发出请求,这目前在后台使用服务工作者异步发生。但是,服务人员无法使用地理定位API


关于如何在不迁移到manifest v2的情况下合并用户位置,有什么建议吗?

我认为问题不在于MV3后台服务人员。 调用geolocation.getCurrentPosition(成功,错误) from background V2不会生成任何错误,但会触发错误回调函数 基本上,地理定位似乎没有成功。 您应该从扩展页调用本地化方法(getCurentPosition或watchPosition)。 如果您按照“用户手势”调用这些方法,效果会更好。
请记住,有些浏览器并不完全支持这些API,这是服务人员的问题。
geolocation
API是
navigator
对象的一部分。服务人员使用不同的导航器对象,该对象无权访问
geolocation
,这就是它触发错误回调函数的原因。如果使用“用户手势”是最好的方式,那将是很不幸的,因为目标是使扩展的触感很低。我没有确切地说。正如您所说,目前导航器对象中没有地理位置。但是,从我在回答您之前所做的测试来看,MV2后台脚本调用的同一对象的两个方法似乎并没有带来很好的结果。我已经用铬和金丝雀进行了测试。相反,如果您从MV2扩展页面调用这些方法,您的运气会更好。尝试制作一个小型MV2扩展,从后台脚本调用两个地理定位方法之一。如果它工作,请分享你的代码,因为我还没有能够做到这一点。