检测浏览器中安装的扩展程序?

时间:2014-03-07 15:36:05

标签: javascript google-chrome-extension firefox-addon

是否可以通过JS检测用户在其浏览器上安装的扩展/添加内容?用例是特定的chrome扩展, Autofill 将一些文本值设置为隐藏的zip字段,导致某些验证失败,我想向用户显示此扩展可能会产生问题的消息。< / p>

5 个答案:

答案 0 :(得分:1)

对于Firefox:第一段代码:AddonManager.jsm - MDN

Components.utils.import("resource://gre/modules/AddonManager.jsm");

AddonManager.getAllAddons(function(aAddons) {
  // Here aAddons is an array of Addon objects
});
// This code will execute before the code inside the callback

必须在privelaged javascript中运行此代码,而不是选项卡。你可以试试specialPowers虽然我不知道它是如何运作的。

要从您的站点运行privelaged脚本,您必须创建一个firefox插件和addEventListener到您的站点,如列出插件的按钮,您将附加一个privelaged功能。

使用插件启用/禁用插件,但用户发现这很烦人,因为插件有时会在安装时做一些烦人的事情。

答案 1 :(得分:1)

对于Chrome扩展程序,只有某些扩展程序是可检测的,因此这不是一个非常好的方法,但据我所知,不再有任何可靠的方法来检测浏览器扩展程序。

对于要检测的扩展,您需要其Extension Id及其Web可访问资源。

某些扩展程序具有Web可访问资源,而某些扩展程序没有。如果没有Web可访问资源,您将无法检测到该扩展名。

要查找Web可访问资源,您需要查看扩展名chrome.manifest文件。它会告诉您是否有可访问Web的内容。例如,chrome.manifest文件可能会说:

  

内容web-developer content / web-developer / contentaccessible = yes

通常,查找浏览器扩展程序效率不高,因为您必须知道要提前检测哪些扩展程序,而且很多时候都无法检测到这些扩展程序。

此外,这是我在尝试做同样事情时使用的一个很好的链接here

答案 2 :(得分:0)

答案 3 :(得分:0)

在JavaScript中检查zip字段在隐藏时是否已更改,并向用户显示扩展可能导致问题的警告。

答案 4 :(得分:0)

对于Firefox,您可以使用Mochitest / SpecialPowersAPI

来完成

https://developer.mozilla.org/en-US/docs/SpecialPowers