0

我正在编写一个小型 PWA,并尝试在 VueJS/QuasarJS 的页面中添加安装横幅。在第一步中,我尝试使用以下代码来捕捉 beforeinstallprompt 是否正在触发:

mounted() {
  console.log("mounting"); // works

  window.addEventListener("beforeinstallprompt", (e) => {
    console.log(e); // this only fires during Lighthouse Audit
    e.preventDefault();
    this.deferredPrompt = e;
    console.log(`'beforeinstallprompt' event was fired in mounted.`) // only during Lighthouse Audit
  })
};

每当我加载应用程序时,它根本不会触发。但后来我尝试在 Chrome 开发工具中运行 Lighthouse 审计,突然它起作用了!此外,Lighthouse 显示 PWA 是可安装的。但是当我在没有 Lighthouse 的情况下做同样的事情时,它就行不通了。那么,我想念的灯塔在做什么......?

编译时,我尝试了两种方法,但都显示相同的结果(仅在我运行 Lighthouse 后才有效):

  • 开发版本:quasar dev -m pwa --> 在本地主机上运行
  • 已部署:quasar build -m pwa, firebase deploy --> 部署在 firebase

我在桌面和 Android 上尝试了 Firefox 和 Chrome,结果都一样。如果您有想法,请告诉我。

提前非常感谢!

4

0 回答 0