平台

Web Share API 与用户主动发起的分享

围绕用户主动操作、可变目标、清晰失败处理和可访问回退设计 Web Share。

文档中心

想直接进入 平台 文档吗?

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

Web Share API 允许页面请求浏览器把用户选择的内容交给操作系统或浏览器提供的分享界面。这是由用户控制的交接,不保证存在特定接收方,也不保证传输完成。应从可见的分享按钮开始,校验内容,并保留复制链接或下载的替代路径。

用户选择内容并查看分享交接,也可以使用替代操作

W3C Web Share 规范说明模型和安全要求。MDN 指南、navigator.share() 与 navigator.canShare()说明浏览器接口及兼容性限制。另请参阅浏览器权限边界和注重隐私的浏览器流程。

从明确操作开始

浏览器可能要求用户的临时激活。不要在加载、悬停或定时器触发分享面板。先检查 navigator.share,并在不可用时保持回退操作可见。安全上下文是必要条件,但浏览器策略仍可能拒绝请求。

canShare() 只能检查提议的内容,不能保证接收方或传输成功。share() 可能因为用户取消、内容无效或浏览器无法完成交接而拒绝。取消不是页面任务失败;不要清除草稿、跳转页面或移动焦点。

校验内容并保护隐私

从用户可见的上下文生成标题、文本、URL 和文件。不要额外加入账户标识、私密备注、令牌或隐藏元数据。私有文档的 URL 必须继续受访问控制保护。默认不要把文本、带秘密的 URL 或文件内容写入分析日志。

保留可访问回退

提供复制链接、下载导出文件或普通链接。每个动作都要有可见标签并支持键盘。不要假定剪贴板一定可用。测试点击、键盘、取消、无效内容、API 缺失和非安全上下文;保留表单数据、滚动位置与当前路由。只记录 shared、cancelled 或 fallback-used 等聚合结果,不记录私密内容。

按钮说明将分享什么内容。

操作从用户明确选择开始。

页面保留表单内容。

取消不会删除数据。

安全上下文限制分享范围。

浏览器支持可能不同。

规范 URL 避免临时状态。

私有链接继续受权限保护。

URL 中不放入秘密。

文件显示清晰的名称和格式。

复制链接保留本地路径。

下载操作说明文件内容。

焦点返回发起控件。

状态使用简短文字提示。

不会自动重复请求。

接收方决定接受什么。

页面不承诺传输完成。

可用性不是用户身份信号。

分析只记录聚合结果。

私密内容不进入日志。

没有 API 时仍有替代路径。

键盘可以访问全部操作。

设计支持缩放和大字号。

长译文需要测试。

双向文字保持阅读顺序。

离线模式保留当前上下文。

导出可以等待完成。

每个错误都提供下一步。

普通链接仍然可用。

服务器继续检查授权。

分享不会改变权限。

嵌入组件遵守边界。

宿主可以选择其他替代操作。

测试验证可见结果。

浏览器分享面板属于外部界面。

文档避免做出普遍承诺。

每次变更都需要复查。

连续完成任务比界面形式更重要。

操作始终由用户决定。

回退路径是功能的一部分。

分享不可用时流程仍然清晰。

用户可以继续任务而不会丢失上下文。

实用清单

来源

#Web Share API#分享#可访问性#隐私

让 BotBrowser 从研究走向生产

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