没有检测到清单

时间:2018-02-23 14:42:29

标签: web-applications progressive-web-apps

我找到了几个模板,涵盖了如何触发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:开头是正确的

或者设置还有什么问题?

谢谢, 彼得

3 个答案:

答案 0 :(得分:2)

要显示添加到主屏幕弹出窗口some requirements

此外,

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

所以很可能在你的情况下不满足其中一些要求,或者你必须在一段时间后访问你的webapp。

要测试您的网络应用是否符合这些要求,您可以打开Chrome DevTools,审核标签:

enter image description here

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

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

enter image description here

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

enter image description here

希望有所帮助!

答案 1 :(得分:1)

当同时打开多个标签时,确认“未检测到清单”。

关闭所有应用程序标签并重新加载是(再次)获得清单的唯一方法。

值得一提的是,这两个标签分别是“开发”和“生产”。

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

总而言之,关闭所有重复的选项卡是确保清单重新初始化的良好经验。

答案 2 :(得分:1)

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

此外,为避免发生任何冲突,请 关闭所有重复的标签页 。参见@JackStone's answer