如何在Firefox Add On中找出浏览器的用户代理

时间:2015-02-25 09:35:36

标签: javascript firefox-addon firefox-addon-sdk

我正在创建(开发)Firefox插件,我需要找到浏览器的用户代理。 navigator.userAgent无效。它表明navigator未定义。

我需要什么Firefox附加模块来获取用户代理,还是有其他方法可以在附加组件中找到它?

1 个答案:

答案 0 :(得分:4)

在SDK中,首先您需要CcCi的{​​{3}}:

const {Cc, Ci} = require("chrome");

您可以使用nsIHttpProtocolHandler从那里获取用户代理:

const httpproto = Cc["@mozilla.org/network/protocol;1?name=http"].
                  getService(Ci.nsIHttpProtocolHandler);

console.log(httpproto.userAgent);

使用隐藏窗口和类似的黑客目前也会起作用,但这有点混乱,在多进程的未来可能会出现问题。