无法检测 PWA 是否安装在第一页视图中?

时间:2021-05-17 14:50:25

标签: google-chrome-extension

我有一个桌面 Chrome 扩展程序,我通常希望在每个域上运行它。在manifest.json

  "content_scripts": [
    {
      "matches": ["http://*/*", "https://*/*"],
      "run_at": "document_start",
      "js": ["contentScript.js"]
    }
  ],

但是我不希望它为已安装的 PWA 运行。在我的内容脚本中,我有这个检查:

const isInstalled =
  window.matchMedia('(display-mode: standalone)').matches ||
  window.matchMedia('(display-mode: fullscreen)').matches ||
  window.matchMedia('(display-mode: minimal-ui)').matches;
if (isInstalled) {
  // Don't run
} else {
  // Run
}

从技术上讲,它仍在“运行”,但这种类型的检查对我来说是可以的。但是这有两个问题:

首先,第一次安装和打开 PWA 时检查不起作用,即使它在那之后起作用。

其次,在第一次查看后,它确实适用于我测试过的大多数 PWA(keep.google.com、www.soundslice.com、music.youtube.com),但对于 app.starbucks.com 则不起作用全部。

0 个答案:

没有答案