React JS 应用程序的浏览器中出现“用户不允许访问 Windows 位置”错误

Posted

技术标签:

【中文标题】React JS 应用程序的浏览器中出现“用户不允许访问 Windows 位置”错误【英文标题】:"User has not allowed access to Windows Location" error in browser for React JS application 【发布时间】:2020-05-19 15:36:25 【问题描述】:

我正在构建应用程序以根据浏览器地理定位 API 的位置坐标从谷歌地图获取用户地址。我使用下面的代码来获取坐标。弹出窗口显示允许第一次获得位置许可。我已允许访问浏览器中的位置。还是不行。

useEffect(() => 
    if ("geolocation" in navigator) 
        console.log("Available");
     else 
        console.log("Not Available");
    

    navigator.geolocation.getCurrentPosition(function(position) 
        //do success handling
        console.log(position);
        console.log("Latitude is :", position.coords.latitude);
        console.log("Longitude is :", position.coords.longitude);
     ,
     function errorCallback(error) 
        //do error handling
        console.log(error);
     ,
     
        timeout:5000
     );
)

如果条件给出 Available 输出,但 getcurrentposition() 总是返回错误“User has not allowed access to Windows Location

【问题讨论】:

【参考方案1】:

地理位置查询 (API) 的后端由各个浏览器制造商构建。这包括权限设计和查询位置。

您收到的错误似乎是 Microsoft Edge(如果我是正确的)。

Microsoft Edge:仅站点级别的用户权限是不够的。用户还必须转到 Windows 设置 > 位置 > 启用位置 + 启用应用程序可以访问位置。 Edge 将首先检查 Windows 权限,然后查询其自己的 API 服务器以获取地理位置。

Chrome 和 Firefox:一旦用户允许该站点的位置权限,您就一切就绪。 Google 和 Mozilla 将查询各自的服务器以获取地理位置。

【讨论】:

以上是关于React JS 应用程序的浏览器中出现“用户不允许访问 Windows 位置”错误的主要内容,如果未能解决你的问题,请参考以下文章

React - 我的 App.js 文件中出现意外的标识符错误。我不明白为啥

webpack在后端对React组件进行渲染的时候,浏览器控制台报错:

由于未清除缓存引发的bug

在我更改 App.js 之前,React 应用程序不会刷新

在 React Native WebView 中隐藏 React.js 组件

如何防止浏览器扩展图标(Last Pass)出现在 React Apps 的字段中?