【问题标题】:No manifest detected at未检测到清单
【发布时间】:2018-02-23 14:42:28
【问题描述】:

我找到了几个模板,介绍了如何触发 Firefox 和 Chrome 添加到主屏幕弹出窗口。

这一切看起来都相当简单,一个空的 service-worker.js 文件一个清单文件和 javascript 之类的:

<link rel="manifest" href="manifest.json">
<script>
if ('serviceWorker' in navigator) {

console.log("Will the service worker register?");

navigator.serviceWorker.register('service-worker.js')
  .then(function(reg){

    console.log("Yes, it did.");


 }).catch(function(err) {

    console.log("No it didn't. This happened:", err)

});
}
</script>

但是,在不同时间间隔重新访问页面后,不会出现“添加到主屏幕”弹出窗口。

我注意到的一件事是,在验证 https://manifest-validator.appspot.com/ 上的清单时,上传文件时验证成功。但是,当在我们的服务器上粘贴链接位置时,“在 ... 处未检测到清单”失败

这有关系吗?确保文件存在且输入的以 https: 开头的路径正确

或者设置还有什么问题?

谢谢, 彼得

【问题讨论】:

  • 请注意,链接需要像这样在头部:&lt;head&gt; &lt;link rel="manifest" href="/manifest.json"&gt;&lt;/head&gt;

标签: web-applications progressive-web-apps


【解决方案1】:

some requirements 用于显示添加到主屏幕弹出窗口。

另外,

Chrome 然后使用 [...] 访问频率启发式方法来确定何时显示横幅。

因此,您的情况很可能其中一些要求没有得到满足,或者您必须稍后再访问您的 web 应用。

要测试您的 web 应用是否满足这些要求,您可以打开 Chrome DevTools、Audit 选项卡:

并执行渐进式 Web 应用审核。

完成后,您将能够看到“是否可以提示用户安装 Web 应用程序”:

如果出于测试目的需要,您也可以手动触发安装横幅。在应用程序选项卡的清单部分,您将看到“添加到主屏幕”按钮:

希望有帮助!

【讨论】:

  • 非常感谢,“Chrome DevTools > Audit tab”帮助调试了这个
【解决方案2】:

同时打开多个选项卡时确认“未检测到清单”。

关闭所有应用程序选项卡并重新加载是(再次)检测到清单的唯一方法。

值得一提的是,这两个标签分别是 dev 和 prod。

我想另一种解决方案可能是清除产品中的缓存。

总而言之,关闭所有重复的选项卡是一个很好的经验法则,可以确保清单重新初始化。

【讨论】:

    【解决方案3】:

    就我而言,需要关闭和重新打开 DevTools

    另外,为避免任何冲突,关闭所有重复的选项卡。见@JackStone's answer

    【讨论】:

      猜你喜欢
      • 2021-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-16
      • 2018-04-13
      相关资源
      最近更新 更多