是否可以通过 JS 检测用户在其浏览器上安装了哪些扩展/附加组件?用例是一个特定的 chrome 扩展,Autofill 将一些文本值设置到隐藏的 zip 字段中,导致一些验证失败,我想向用户显示一条消息,表明此扩展可能会产生问题。
最佳答案
对于 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
必须在特权 javascript 中运行此代码,而不是在选项卡中。您可以尝试使用 specialPowers
,但我不知道它是如何工作的。
要从您的站点运行特权脚本,您必须创建一个 firefox 插件和 addEventListener 到您的站点,就像一个列出插件的按钮,您可以为其附加一个特权函数。
使用插件,您可以启用/禁用插件,但用户会发现这很烦人,因为插件有时会在安装时做一些令人讨厌的事情。
关于javascript - 检测浏览器中已安装的扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22254314/