Javascript 如何找到浏览器';Firefox加载项中的用户代理
我正在创建(开发)一个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/
navigator.userAgent
不工作。它显示未定义导航器
我需要什么Firefox附加模块来获取用户代理,或者是否有其他方法在附加模块中找到它?在SDK中,首先需要forCc
和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。你能把这个作为回答,这样我就可以接受了吗?