LOGO 首页 OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 技术文档 其他文档  
 
网站管理员

[点晴永久免费OA]新 HTML 标签发布!搞定所有前端权限!

admin
2026年8月4日 15:4 本文热度 64

以往网页想要调用摄像头、麦克风、定位,全套流程都靠JavaScript硬编码实现。我们要手写一堆异步逻辑、捕获各种异常、持续监听权限状态,样板代码堆一大堆。

更头疼的是用户体验问题。 很多网站一打开页面,冷不丁弹出授权弹窗,用户毫无防备,下意识直接点拒绝。一旦权限被拦截,麻烦事就来了:浏览器会永久屏蔽再次唤起弹窗,想要重新开启权限,只能引导用户钻进浏览器层层嵌套的设置面板,普通用户根本找不到入口,最后直接放弃使用功能。

现在WICG带来了实验性HTML新标签 <permission>,Chrome 144及以上版本已经支持。只用声明式HTML标签,就能搞定设备权限申请,既能精简代码,也能大幅优化授权交互。

这个标签到底强在哪

  • ✅ 声明式写法:一行HTML替代数十行JS,不用手动调用浏览器权限API
  • ✅ 原生控件自动渲染:浏览器自动生成授权按钮,文字跟随权限状态动态切换(未授权/已允许/已拒绝)
  • ✅ 交互更人性化:只有用户主动点击按钮,才弹出授权窗口;就算之前拒绝权限,再次点击依旧能够唤起弹窗,不用手动修改浏览器设置
  • ✅ 完善事件体系:授权成功、拒绝、关闭弹窗等行为,都提供事件回调,方便业务逻辑拓展

上手实操,直接复制可用

单个权限申请

极简写法,想要什么权限直接填入type属性

<!-- 请求摄像头权限 -->
<permission type="camera"></permission>

<!-- 请求麦克风权限 -->
<permission type="microphone"></permission>

<!-- 获取高精度地理位置 -->
<permission type="geolocation" preciseLocation="true"></permission>

一次性申请多项权限

摄像头+麦克风同时授权,空格分隔权限类型即可

<permission type="camera microphone"></permission>

搭配JS监听权限状态

通过事件捕获用户操作,实时更新页面状态

<permission id="perm-camera" type="camera"></permission>
<p id="status"></p>

<script>
const permEl = document.getElementById('perm-camera');
const statusEl = document.getElementById('status');

// 用户同意授权
permEl.addEventListener('grant', () => {
  statusEl.textContent = '✅ 摄像头权限开启成功';
});
// 用户拒绝授权
permEl.addEventListener('deny', () => {
  statusEl.textContent = '❌ 摄像头权限已被拒绝';
});
// 用户直接关闭弹窗
permEl.addEventListener('promptdismiss', () => {
  statusEl.textContent = 'ℹ️ 权限弹窗已关闭';
});
</script>

核心属性一览

type【必填】 权限类型,支持 camera(摄像头)、microphone(麦克风)、geolocation(定位);多个权限使用空格隔开。

preciseLocation【可选】 搭配定位权限使用,开启高精度位置获取。

isValid【只读属性】 用来判断当前元素是否具备触发授权的条件。

生产环境兼容方案

重点提醒:目前还属于实验草案,仅Chrome 144+浏览器支持,千万不要直接上线裸奔。 推荐渐进增强方案:支持新标签就原生渲染,不支持的浏览器显示传统按钮兜底。

<permission id="geo-perm" type="geolocation"></permission>
<button id="geo-fallback" style="display:none;">获取位置</button>

<script>
// 检测浏览器是否支持permission标签
if (!window.customElements.get('permission')) {
  document.getElementById('geo-perm').style.display = 'none';
  document.getElementById('geo-fallback').style.display = 'inline-block';
  // 此处可以编写传统JS权限获取逻辑
}
</script>

简单总结

长久以来,网页权限请求被JS强行驱动,不仅代码臃肿,突兀的弹窗还极易引发用户反感,权限拒绝后的修复路径更是一大痛点。

<permission>标签把权限请求交给HTML声明式实现,把授权主动权交到用户手上,点击才弹窗、拒绝后可重试,同时大幅减少前端样板代码。

后续浏览器持续跟进完善标准之后,网页定位、视频通话、语音采集这类场景的开发体验,会迎来不小的升级。

地址:https://developer.chrome.com/blog/permission-element-origin-trial?hl=zh-cn


阅读原文:点击这里


该文章在 2026/8/4 15:04:44 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2026 ClickSun All Rights Reserved  粤ICP备13012886号-1  粤公网安备44030602007207号