5***@qq.com
5***@qq.com
  • 发布:2025-10-16 11:41
  • 更新:2025-10-16 11:41
  • 阅读:17

【报Bug】使用uni-app打包的app,在web-view中无法使用navigator.geolocation.getCurrentPosition 定位问题

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 11 家庭中文版

HBuilderX类型: 正式

HBuilderX版本号: 4.76

手机系统: Android

手机系统版本号: Android 12

手机厂商: 手持PDA

手机机型: PDA

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
<html lang="en">  
  <head>  
    <meta charset="UTF-8" />  
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />  
    <title>Document</title>  
  </head>  
  <body>  
    <button onclick="getLocation()">js定位</button>  
    <p id="text"></p>  
    <script>  
      const textdiv = document.getElementById('text');  
      function getLocation() {  
        if (navigator.geolocation) {  
          navigator.geolocation.getCurrentPosition(function (position) {  
            textdiv.innerHTML =  
              '经度:' +  
              position.coords.longitude +  
              '<br/>纬度:' +  
              position.coords.latitude;  
          });  
          console.log('getCurrentPosition');  
        } else {  
            textdiv.innerHTML = '浏览器不支持获取地理位置';  
        }  
      }  
    </script>  
  </body>  
</html>

操作步骤:

vue页面中嵌入web-view 页面, webview地址为:https://cssmx.jst.zj.gov.cn/enterpriseGasCheck/camera/#/location

预期结果:

可以正常定位

实际结果:

不可定位

bug描述:

在vue页面中, 嵌套web-view 组件, web-view 的地址是一个网络地址, 嵌套的项目中有使用navigator.geolocation.getCurrentPosition 定位,导致无法定位, 切换x5内核,依然无法定位
排查过程:
1、检查设备的Android system webview ,结果是:91.0.4472.114.
2、在hbuilder 中切换浏览器内核为X 5 , 仍不支持定位。
3、app权限中支持。
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

2025-10-16 11:41 负责人:无 分享
已邀请:

要回复问题请先登录注册