标签: web-app-manifest

Cookie 未随 Web 应用 manifest.json 请求发送

我正在尝试在需要身份验证(通过 Cookie 管理的登录令牌)的网站上启用 PWA。

我正在本地(http://localhost:4502)尝试此操作并登录(并发出登录cookie)网站。

问题是当请求 Web 应用清单时,请求中没有发送 Cookie,因此请求未通过身份验证。

<link rel="manifest" href="/content/site-x/manifest.json">
Run Code Online (Sandbox Code Playgroud)

如您所见,清单与包含它的网页使用相同的主机/方案。

对清单的请求是否传递了 cookie?我什至将我的登录 cookie 设置得尽可能宽松,但没有。cookie 是在所有其他请求(JS、CSS 等)上发送的——也许 localhost 有什么特别之处吗?或者它不是http?

javascript cookies progressive-web-apps web-app-manifest

16
推荐指数
1
解决办法
3603
查看次数

当从具有端口号的本地 IP 地址提供渐进式 Web 应用程序时,我应该在清单.json 文件中为范围属性指定什么值?

我的本地 Node JS 测试服务器上的 Web 应用程序清单范围存在问题。我无法获得正确的范围,因为 IP 地址上的端口号妨碍了。我正在使用以下地址访问我的服务器:

https://192.168.0.101:2468/
Run Code Online (Sandbox Code Playgroud)

当我使用 Chrome 开发工具查看我的清单时,在“应用程序”选项卡下,它显示清单文件的 url 为::2468/manifest.json:2468不是我的根文件夹中的目录。

我将所有文件保存在根目录中,包括server.jsmanifest.json和索引,称为my-app.html

_ website-directory
|_ server.js
|_ manifest.json
|_ my-app.html
Run Code Online (Sandbox Code Playgroud)

在我的清单文件中,我有:

{

  "scope": "./",
  "start_url": "my-app.html"

}
Run Code Online (Sandbox Code Playgroud)

当我将代码上传到我的 Github Pages 站点时,一切正常:工作示例。我认为问题出在:2468我的 IP 地址后面。对于完全限定的域名,我不会遇到这个问题,就像我在 Github Pages 上遇到的那样。

如果我尝试将端口号放入清单的范围中,如下所示:

  "scope": "./:2468/",
  "start_url": "my-app.html"
Run Code Online (Sandbox Code Playgroud)

它破坏了我的清单的范围,我收到此警告:Manifest: property 'scope' ignored. Start url should be within scope of scope URL.这非常有道理,因为:2468它不是我的目录中的文件夹。这只是 Chrome 决定附加到我的清单文件的 URL 上的东西。

如何解析清单文件的范围以忽略端口号?为什么 Chrome …

scope localserver progressive-web-apps manifest.json web-app-manifest

5
推荐指数
1
解决办法
2万
查看次数