我正在编写一个Firefox扩展,需要知道当前登录用户的用户名是在Windows,Mac还是Linux中。因此,如果我以“brh”登录我的机器,它将返回“brh”。知道如何从扩展JavaScript中做到这一点吗?
答案 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,所以你不能与操作系统进行很多交互...但是生病了,看看是否有人知道一种方式(这将非常酷......)