在旧版(非WebExtensions)Firefox附加组件中获取Windows用户名

时间:2010-06-03 18:24:52

标签: javascript firefox firefox-addon username

我正在使用Firefox附加组件(用JavaScript编写),需要确定当前登录的Windows用户。有没有办法做到这一点?

5 个答案:

答案 0 :(得分:9)

这可以解决Windows上的问题:

function getUser() {
   return Components.classes["@mozilla.org/process/environment;1"].getService(Components.interfaces.nsIEnvironment).get('USERNAME');
}      

答案 1 :(得分:5)

您可以使用nsIEnvironment界面获取USERNAME环境变量。

答案 2 :(得分:3)

以下代码适用于我,而不是带有函数调用的onload事件:

var objUserInfo = new ActiveXObject("WScript.network");
document.write(objUserInfo.ComputerName+"<br>"); 
document.write(objUserInfo.UserDomain+"<br>"); 
document.write(objUserInfo.UserName+"<br>");  
var uname =  objUserInfo.UserName;
alert(uname);

答案 3 :(得分:1)

Firefox内置了集成身份验证(许多人不知道) 请参阅:https://developer.mozilla.org/en-US/docs/Integrated_Authentication

这是一个流行的Firefox插件,可以简化配置: https://addons.mozilla.org/nl/firefox/addon/integrated-auth-for-firefox/

这是一些额外的解释:
http://justgeeks.blogspot.nl/2011/01/firefox-supports-integrated-windows.html

祝你好运!

答案 4 :(得分:-3)

<html>
<head>
    <script language="javascript">
        function GetUserName()
        {
            var wshell = new ActiveXObject("WScript.Shell");
            alert(wshell.ExpandEnvironmentStrings("%USERNAME%"));
        }
    </script>
</head>
<body OnLoad="GetUserName();">
</body>
</html>