从Firefox扩展中查找当前登录的用户

时间:2008-12-30 01:13:06

标签: javascript firefox xul

我正在编写一个Firefox扩展,需要知道当前登录用户的用户名是在Windows,Mac还是Linux中。因此,如果我以“brh”登录我的机器,它将返回“brh”。知道如何从扩展JavaScript中做到这一点吗?

4 个答案:

答案 0 :(得分:11)

Firefox扩展程序遵循与页面中运行的普通JavaScript不同的规则:绝对可以找到当前用户。

打开错误控制台(在工具中)并输入:

Components.classes["@mozilla.org/process/environment;1"].getService(Components.interfaces.nsIEnvironment).get('USER')

Firefox启动的环境变量可通过NsIEnvironment XPCOM component获得。

您可能必须为每个平台自定义此设置。如果其他所有方法都失败了,您可以在~中创建NsIFile,然后查看其.path;我不确定shell表达式是否在那里得到尊重,但是......

答案 1 :(得分:1)

标记的正确答案正常。我在Firefox 38的扩展中使用它。我还使用事件,以便页面可以与扩展进行通信并从扩展中检索窗口属性。

getWindowsProperty:function(prop){     return Components.classes [“@ mozilla.org/process/environment;1"].getService(Components.interfaces.nsIEnvironment).get(prop);     },

答案 2 :(得分:0)

不要认为这是可能的,如果是这样的话似乎是一个安全漏洞。

答案 3 :(得分:-1)

是的,不可能...... Javascript在安全的环境中运行,并且所有FF扩展都是javascript,所以你不能与操作系统进行很多交互...但是生病了,看看是否有人知道一种方式(这将非常酷......)