指纹

浏览器地理位置权限与位置精度

了解安全上下文、权限、精度取舍以及浏览器地理位置的隐私友好回退。

文档中心

想直接进入 指纹 文档吗?

这篇文章属于博客内容库。若你要步骤化配置、参考说明和持续更新,请直接进入对应 docs 分区。

浏览器地理位置可以在用户批准请求后返回位置。它是由用户控制的能力,不是身份、所有权或意图证明。应说明用途,在安全上下文中请求,并在拒绝、撤销、超时、不可用或精度不足时保留可用路径。

地理位置权限、位置估计和手动回退

权限与安全上下文

Geolocation API 通过 navigator.geolocation 暴露,并要求安全上下文。getCurrentPosition() 应跟随明确操作和用途说明。浏览器可能显示提示、拒绝或保留权限状态。MDN Geolocation API 与 Permissions API说明公开接口。

在位置有助于任务时请求,不要在无关加载时请求。拒绝不应触发循环或要求削弱控制。W3C Geolocation 规范定义权限模型,但浏览器和系统决定是否能得到位置。

权限可以撤销,平台策略也可能禁用位置。保留已填写数据,说明下一步,并提供手动地址、保存地点或无位置流程。

精度、超时与缓存

getCurrentPosition() 接受 enableHighAccuracy、timeout 和 maximumAge。短超时可能失败,长超时会让人等待;缓存位置响应快但可能过期。只有任务需要时才请求高精度。

coords.accuracy 是米为单位的估计半径,不是保证地址。坐标可能粗略、过期或缺失。影响任务时展示不确定性,不要未经明确决定把半径变成精确地址。

请求前先定义可接受结果。天气可以使用宽泛区域,配送可能要求确认地址。不要无限轮询,任务结束后停止观察。

拒绝、撤销与不可用

把拒绝、超时、位置缺失和无效结果当作正常分支。解释失败和可用操作。手动输入、邮编、保存地点或地图选择都能保留任务。拒绝不说明某人的位置。

页面恢复或设置变化后重新计算短期本地决定。不要保存坐标历史,也不要在导航后继续观察。记录已测试环境,不承诺普遍保证。

最小化位置数据

使用完成任务所需的最低精度。一个页面可把位置留在内存中;用户要求记住时保存选择的地点而非坐标。默认不要把坐标放入 URL、分析标签、账户标识或支持记录。

上传位置前说明用途和保留期并请求单独选择。运营事件可记录 permission_denied、coarse_location 或 manual_fallback,不需要坐标历史。检查 SDK、报告、缓存和后台组件。

位置属于敏感上下文。不要把它与账户、网络、字体、存储、时间或设备结合来推断身份、习惯、健康或意图。诊断需要明确目的、限制访问和删除安排。

回退设计与测试

测试不安全上下文、提示、拒绝、撤销、超时、不可用、旧缓存、粗略精度、高精度延迟和手动输入。验证任务、焦点、标签和数据保留,不固定具体坐标。

控件要支持键盘和读屏。说明结果是近似、缓存还是不可用。提示关闭后保持焦点,让重试成为明确操作。文本表单应能替代地图。

兼容性承诺应窄于证据:权限可能撤销,平台策略可能禁用位置,未来版本可能改变精度。页面恢复、策略变化或用户改选地点时,重新计算本地决定,解释限制并保持普通任务可用。

另请参阅浏览器权限隐私指南和日常浏览器隐私基础。

时间戳表示位置获取时间,不是请求时间。缓存结果可能过期,应明确标示。

应同时测试 timeout 与 maximumAge:新鲜结果可能超时,缓存结果响应快但可能陈旧。

granted 状态不保证一定有位置,嵌入框架也可能受 Permissions Policy 和顶层文档限制。

安全上下文只是请求前提,不保证传感器、网络或系统批准。记录已测试环境的可见结果。

拒绝后提供手动输入,超时后提供有限重试,撤销后要求新的明确操作。

保留期限应匹配任务:单屏位置留在内存,保存地点作为用户选择,没有目的就不保存坐标历史。

上传前说明接收方、用途、保留和删除;检查报告、缓存和后台组件,避免意外复制。

使用合成数据测试权限状态、框架、缓存、缺失海拔、旧时间戳、暂停和手动恢复。

可访问回退支持键盘和读屏输入地址、选择地点或继续使用宽泛区域。

任务变化时重新检查精度、时间戳、海拔、超时、缓存年龄、保留和回退;承诺应窄于证据。

坐标表示一个点,accuracy 表示估计的水平半径;小数更多不代表更确定。海拔可能缺失,时间戳表示结果获取时间,不代表此刻仍在该处。需要边界时,应让用户确认地址或区域。

参数应由任务决定:maximumAge 可让宽泛视图更快,timeout 限制等待,enableHighAccuracy 可能增加开销但不保证小半径。说明等待、允许取消并提供手动输入。

将准备、请求、允许、拒绝、不可用和结果状态分开。granted 仍可能超时,嵌入框架也可能受权限策略限制。分别测试这些上下文。

单屏位置留在内存中。保存地点应支持编辑和删除。上传前定义用途、访问、期限和删除;检查 URL、缓存、报告和后台组件。

反馈必须是文本且可访问:提示关闭后恢复焦点,播报等待、缓存或不可用,并允许键盘和读屏用户取消、重试或输入地址。

兼容性和回退检查清单应覆盖不安全上下文、接受或撤销权限、框架阻止、缓存、精度、海拔、旧时间戳、超时、供应方缺失、导航、暂停、手动输入和删除,使用合成坐标。

产品还应支持改变决定:停止等待中的分享、删除保存地点并返回手动模式。说明哪些数据留在本地、哪些已经发送,不要使用权限来识别用户。回退路径应始终可见。

来源

#Geolocation API#权限#位置精度#隐私

让 BotBrowser 从研究走向生产

先用这些指南理解模型,再进入跨平台验证、隔离上下文和面向规模化的浏览器部署。