Javascript 检测用户是否安装了Chrome扩展

Javascript 检测用户是否安装了Chrome扩展,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我尝试了这个问题的所有解决方案 我所做的: 1-我添加了背景js文件,并在清单中添加了以下内容 "background": { "scripts": ["js/background.js"], "persistent": true }, "permissions": [ "https://*.mydomain.com/*" ], 在background.js中,我添加了 chrome.runtime.onMessageExternal.addLis

我尝试了这个问题的所有解决方案

我所做的:

1-我添加了背景js文件,并在清单中添加了以下内容

 "background": {
       "scripts": ["js/background.js"],
       "persistent": true
   },

   "permissions": [ "https://*.mydomain.com/*" ],
在background.js中,我添加了

chrome.runtime.onMessageExternal.addListener(function(msg, sender, sendResponse) {
    if ((msg.action == "id") && (msg.value == id))
    {
        sendResponse({id : id});
    }
});
在我的网站上我添加了这个代码

<script>
    var id = "madbfblbpcoiddlankhkdbagjeemnlof";
    chrome.runtime.sendMessage(id, {action: "id", value : id}, function(response) {
        if(response && (response.id == id)) //extension installed
        {
            console.log(response);
        }
        else //extension not installed
        {
            console.log("Please consider installig extension");
        }

    });
</script>

var id=“madbfblbpcoidllankhkdbagjeemnlof”;
sendMessage(id,{action:“id”,value:id},函数(响应){
if(response&&(response.id==id))//已安装扩展
{
控制台日志(响应);
}
else//未安装扩展
{
控制台。日志(“请考虑Stimalg扩展”);
}
});

和我总是得到的请考虑Stimalg扩展< /P>


如何解决此问题???

background.js
的开头定义
id
,如下所示:
var id=chrome.runtime.id

您还需要将站点添加到
外部可连接的
中,而不是
manifest.json中的
权限
,如下所示:

"externally_connectable": {
    "matches": ["https://*.mydomain.com/*"]
}

它就像一个我不知道的外部可连接的魅力。谢谢你的帮助你救了我