Javascript 如何找到浏览器';Firefox加载项中的用户代理

Javascript 如何找到浏览器';Firefox加载项中的用户代理,javascript,firefox-addon,firefox-addon-sdk,Javascript,Firefox Addon,Firefox Addon Sdk,我正在创建(开发)一个Firefox插件,我需要找到浏览器的用户代理。 navigator.userAgent不工作。它显示未定义导航器 我需要什么Firefox附加模块来获取用户代理,或者是否有其他方法在附加模块中找到它?在SDK中,首先需要forCc和Ci: const {Cc, Ci} = require("chrome"); 您可以使用nsIHttpProtocolHandler从那里获取用户代理: const httpproto = Cc["@mozilla.org/network/

我正在创建(开发)一个Firefox插件,我需要找到浏览器的用户代理。
navigator.userAgent
不工作。它显示未定义
导航器


我需要什么Firefox附加模块来获取用户代理,或者是否有其他方法在附加模块中找到它?

在SDK中,首先需要for
Cc
Ci

const {Cc, Ci} = require("chrome");
您可以使用
nsIHttpProtocolHandler
从那里获取用户代理:

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

console.log(httpproto.userAgent);

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

查看此主题:
Services.sysinfo.getProperty(“版本”)获取未定义的服务
ReferenceError:Services未定义
从addon sdk您必须像这样导入chrome:
var{Cc,Cu,Ci}=require('chrome');Cu.进口resource://gre/modules/Services.jsm');
然后您可以使用
服务
并进一步阅读问题。在我发布的解决方案中,它向您展示了如何准确获取
navigator.userAgent
谢谢!这确实有助于@Noitidart。你能把这个作为回答,这样我就可以接受了吗?