HTML5 的 Manifest 文件不支持 share_target 配置;share_target 是 Web App Manifest(manifest.json)中的属性,属于 PWA 规范,需在 manifest.json 中声明并配合 service worker、HTTPS 及安装条件使用。

HTML5 的 Manifest 文件不支持 share_target 配置。share_target 是 Web App Manifest(即 manifest.json)中的一个功能属性,属于 PWA(渐进式 Web 应用)规范,与已废弃的旧版 HTML5 Cache Manifest(cache.manifest)完全无关。
区分两个不同“Manifest”
很多人混淆了以下两者:
-
Cache Manifest(HTML5 Application Cache):基于
cache.manifest文件,2019 年起被所有主流浏览器废弃,不支持 share_target,也不再推荐使用。 -
Web App Manifest(
manifest.json):JSON 格式文件,用于定义 PWA 的元信息(如图标、启动页、显示模式),share_target 正是它的一部分(W3C 共享目标规范),需搭配navigator.share()或系统分享集成使用。
正确配置 share_target(在 manifest.json 中)
要让 PWA 接收系统分享(例如从图库、浏览器点“分享到…”选择你的 PWA),需在 manifest.json 中声明 share_target,并确保满足以下条件:
将 Markdown 文章转换为微信公众号兼容的纯 HTML 格式。当用户要求"转成微信格式"、"生成公众号文章 HTML"、"排版到微信草稿箱"、"微信粘贴格式"时触发。输出带内联样式的纯 HTML,微信编辑器可直接渲染,无需额外适配。支持标题、段落、列表、粗体、行内代码、表格、引用块、代码块、配图的完整转换。
- 站点已注册为可安装 PWA(有 valid manifest + service worker + HTTPS)
- 用户已将该 PWA 添加到主屏幕(或 Android 上通过 Chrome 触发“添加到主屏幕”)
- 目标页面(
action指向的路径)能处理 POST 请求并解析分享数据(如 text、files、url)
示例 manifest.json 片段:
后端/页面需配合处理分享请求
share_target.action 指向的页面(如 /receive-share)必须能接收并响应浏览器发起的 POST 表单请求。常见实现方式:
- 服务端路由(如 Express、PHP、Python Flask)解析 multipart body,提取 title/text/url/files
- 前端页面也可通过
self.addEventListener('fetch', ...)在 Service Worker 中拦截该请求,再转发给页面逻辑(但需注意跨域和 formData 解析限制) - Android Chrome 会将分享内容以标准表单格式提交;iOS Safari 目前暂不支持 share_target
验证与调试要点
- 使用 Chrome DevTools → Application → Manifest 标签页,确认
share_target已正确解析(无报错) - 在 Android 设备上,打开图片或网页 → 点击分享 → 查看是否出现你的 PWA 图标
- 确保 PWA 已安装(非仅访问网页);未安装时系统不会列出该应用作为分享目标
- 检查
/receive-share页面返回 HTTP 200 且响应体可读(避免空页或重定向)
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










