应用截图
详细介绍
拦截过早出现的通知、位置等权限请求,例如在你与页面交互之前出现的请求。
拦截过早出现的通知、位置等权限请求,例如在你与页面交互之前出现的请求。此扩展程序是作为 How to improve your permissions UX(https://adamlynch.com/improve-permissions-ux)的一部分创建的。
工作原理:
权限请求会被拦截,直到你与页面交互,即点击、触摸或按键。不过有以下例外:
- 之前已请求过该权限并获得授权(或被明确拒绝)。
- 域名为 `localhost` 或 `127.0.0.1`。
- 你从同一域名下的另一个页面导航到当前页面。
未涵盖的内容及原因:
- 加速度计、陀螺仪、磁力计、设备运动、设备方向等。它们不会触发权限请求弹窗。
- 环境光传感器。它不会触发权限请求弹窗。
- Bluetooth。无论如何,只有用户交互才能触发请求(https://webbluetoothcg.github.io/web-bluetooth/#requestDevice-user-gesture)。
- 剪贴板。它不会触发权限请求弹窗。
- Flash。我不知道如何触发提示,也不知道如何拦截它。
- 地理位置的 `watchPosition` 方法。没有办法在不破坏其他功能的情况下实现拦截。它返回一个 ID,并且不像 `Notification.permission` 那样提供检查权限状态的方法。可以使用 Permission API,但它是异步的(基于 Promise),因此无法在使用它的同时返回 ID。
- Web USB。目前尚未得到真正支持(Permission API 也尚不支持),所以它可能还不会打扰任何人。