我正在创建(开发)Firefox插件,我需要找到浏览器的用户代理。
navigator.userAgent
无效。它表明navigator
未定义。
我需要什么Firefox附加模块来获取用户代理,还是有其他方法可以在附加组件中找到它?
答案 0 :(得分:4)
在SDK中,首先您需要Cc
和Ci
的{{3}}:
const {Cc, Ci} = require("chrome");
您可以使用nsIHttpProtocolHandler
从那里获取用户代理:
const httpproto = Cc["@mozilla.org/network/protocol;1?name=http"].
getService(Ci.nsIHttpProtocolHandler);
console.log(httpproto.userAgent);
使用隐藏窗口和类似的黑客目前也会起作用,但这有点混乱,在多进程的未来可能会出现问题。