google-chrome - 渐进式 Web 应用程序适用于本地设置,但在暂存时,Chrome 控制台显示“Manifest: Line: 1, column: 1, Syntax error”
问题描述
我有两个独立但相关的渐进式 Web 应用程序,每个应用程序都有一个manifest.json
文件。一个应用程序在同一域中可用,/foo/app
而另一个应用程序在/bar/app
同一域上。该manifest.json
文件可在/foo/app/manifest.json
和/bar/app/manifest.json
分别获得。
在我的本地机器上它们工作得很好(假设我用一些特殊的命令行标志启动 Chrome 以忽略自签名证书)。我可以安装这两个应用程序,我可以通过 ngrok 从我的 Android 手机访问并在那里安装它们。但是,在我将所有内容上传到 staging 之后,我开始在 Chrome 中看到这个控制台错误:
Manifest: Line: 1, column: 1, Syntax error.
我用细齿梳子检查了文件,找不到任何问题。我阅读了其他 Stack Overflow 问题,但结果很枯燥。我找到了这篇关于 manifest.json 的 W3 文章,并决定将文件的名称从 更改manifest.json
为manifest.webmanifest
并使用 MIME 类型application/manifest+json
(根据 w3 建议)提供它。这些都没有任何区别。
为什么在本地运行良好时,暂存时会出现语法错误?唯一的区别是我的本地设置使用自签名 SSL/TLS 证书,所以如果有的话,我很惊讶它可以通过 ngrok 在本地运行!
这是我的manifest.webmanifest
文件:
{
"short_name": "Foo",
"name": "Foo",
"icons": [
{
"src": "/img/foo-logo-no-text-192x192.png",
"type": "image/png",
"sizes": "192x192"
},
{
"src": "/img/foo-logo-no-text-512x512.png",
"type": "image/png",
"sizes": "512x512"
}
],
"start_url": "/foo/app/?source=pwa",
"background_color": "#54799C",
"display": "standalone",
"scope": "/foo/app/",
"theme_color": "#54799C"
}
解决方案
发现了问题。这个答案对我有用。
简而言之,我在我的部分中添加crossorigin="use-credentials"
了<link rel="manifest">
元素<head>
。
推荐阅读
- c - C语言中的字符串循环
- php - 如何从数据库中删除评论?
- angular - 内联单元格编辑 ag-grid 不适用于下拉菜单和日期选择器
- python - 无法使用 selenium python 获取元素列表中的元素
- elasticsearch - 指定桶键从弹性搜索(6.7)日期直方图中的指定值开始
- angular - onSelectionChange 不调用函数
- excel - 使用 Access VBA 打开的 Excel 应用程序不会在任务管理器中关闭
- applescript - 有没有办法将 AppleScript 与 Keynote 一起使用,这样我就可以为文本对象激活数字项目符号和列表?
- r - 如何在文本中按时间顺序搜索某些元素以创建简化的数据框
- cmake - CMakeLists:未找到 Z3Config.cmake