如何检查是否安装了Chrome扩展程序?

时间:2018-03-27 13:24:18

标签: angular google-chrome-extension

我有一个角度4的应用程序,我想检查是否安装了Chrome扩展程序,如果没有,我想显示一个按钮来安装它。

我试图找到一个包来做但却找不到任何东西。任何人都有这样的消化吗?

我可以编辑角度应用和Chrome扩展程序。

感谢。

1 个答案:

答案 0 :(得分:2)

您可以为自己的扩展程序编写内容脚本,该内容脚本仅在您的网站上触发,例如,在您可以检查的DOM中注入一个标记。例如(此代码未经测试;它仅用于说明原理):

<强> myExtensionDetector.js

window.onload = function() {
  window.__EXTENSION_IS_INSTALLED__ = true;
}

然后,在你的清单中:

<强>的manifest.json

{
  ...
  content_scripts: [
    ...
    {
      "run_at": "document_start",
      "matches": "https://mywebsite.com",
      "js": ["myExtensionDetector.js"]
    },
    ...
  ]
}

最后,在您的网站代码中:

function isExtensionInstalled() {
  return window.__EXTENSION_IS_INSTALLED__ !== undefined;
}

因此,如果安装了扩展,那么将在页面加载时注入该内容脚本,并在页面中设置该标志。否则,该标志将是未定义的。因此,您可以使用标志的存在作为扩展程序是否已安装的指示符。