【发布时间】:2017-02-15 07:30:25
【问题描述】:
我目前正在尝试检测用户是否安装了某个 Chrome 扩展程序。 Chrome 扩展不是我自己的,我没有它的源代码。我在许多帖子中尝试过方法,但都失败了。下面详细介绍了我尝试过的方法以及失败的原因。
这导致执行时“无法读取未定义的属性连接”:
var myPort=chrome.extension.connect('idldbjenlmipmpigmfamdlfifkkeaplc', some_object_to_send_on_connect);
尝试按如下方式加载扩展程序的资源以测试它是否存在,但在浏览器中转到此 URL 会导致“找不到您的文件”Chrome 错误页面(请注意,我通过转到 C:\ 找到了此路径我的 Windows 本地计算机上的 Users\\AppData\Local\Google\Chrome\User Data\Default\Extensions\idldbjenlmipmpigmfamdlfifkkeaplc\1.0.0.1_0\):
chrome-extension://idldbjenlmipmpigmfamdlfifkkeaplc/1.0.0.1_0/icon_16.png
使用 Chrome 管理,但执行时会导致控制台错误“无法读取未定义的属性获取”
chrome.management.get("idldbjenlmipmpigmfamdlfifkkeaplc", function(a){console.log(a);});
我遇到的大多数其他答案似乎都涉及由试图检查它的同一个人编写的扩展。
【问题讨论】:
-
@wOxxOm 在第二句中表示这是第三部分扩展。
-
哎呀,我确实假设了网页代码。对不起。
-
@wOxxOm 啊,我知道我为什么这么认为。
chrome.extension.connect将在任何扩展上下文中定义。 -
考虑采纳How to Detect Browser Extensions上的建议
标签: javascript google-chrome google-chrome-extension