【问题标题】:PWA - Web Share Target "property 'action' ignored, should be within scope of manifest"PWA - Web 共享目标\“属性\'操作\'被忽略,应在清单范围内\”
【发布时间】:2022-08-07 18:49:45
【问题描述】:
我的 Web 共享目标不起作用,我收到错误消息\"属性\'action\'被忽略,应该在清单范围内\"当我的 PWA 安装时。
在 manifest.json 我配置了 share_target 如下:
\"share_target\": {
\"action\": \"/_share-target\",
\"enctype\": \"multipart/form-data\",
\"method\": \"POST\",
\"params\": {
\"files\": [
...
]
}
}
标签:
progressive-web-apps
service-worker
web-share
mainfest
web-share-target
【解决方案1】:
问题是我的服务人员安装了范围'/myapp/src/'
navigator.serviceWorker
.register("service-worker.js", { scope: '/myapp/src/'})
这会产生一个绝对 url https://myusername.github.io/myapp/src/ 服务工作者运行的地方。
但是网络共享目标指向https://myusername.github.io/_share-target,因为前导斜杠,如错误消息所述,不在服务工作者的范围内。
因此解决方案是通过从共享目标操作属性中删除斜线来调整 manifest.json。
"share_target": {
"action": "_share-target",
...
}
或在 service worker 范围内定义路径:
"share_target": {
"action": "/myapp/src/_share-target",
...
}