防止PWA被安装

8
有没有办法通过配置我的manifest.json来禁用浏览器弹出窗口,提示“安装”网站? 我正在使用以下JavaScript代码来防止这种情况:
window.addEventListener('beforeinstallprompt', function(e) {
    e.preventDefault();
    return false;
});

但是我需要在AMP版本上也防止它,而我无法在那里运行JavaScript代码。


如果您不想支持添加到主屏幕,为什么要从您的AMP链接到清单? - Sebastian Benz
禁用PWA支持后,您想实现什么目标? - abraham
这只是一个业务页面,我不想打扰用户。 - Spike886
3个回答

8

目前似乎没有明确的设置来禁用应用程序安装。

一种解决方法是编辑manifest.json,使其不符合应用安装横幅的要求,例如删除short_nameicons声明。


这是一个非常聪明的想法,但还有其他选择吗? - Spike886
似乎没有明确的设置来禁用应用程序安装,因此我认为没有其他选择。如果您不想要应用程序安装,那么好像您甚至都没有使用“short_name”或“icon”。 - tony19

4

您可以做:

window.addEventListener('beforeinstallprompt', (event) => {
  event.preventDefault()
})

另一个解决方案是在 site.webmanifest 中设置 display: 'browser' 选项。


0

我尝试从我的index.html文件中删除指向它的链接,而不是编辑我的manifest.json文件。我删除了这行:

<link rel="manifest" href="manifest.json">

在我的情况下,这似乎运行良好。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接