我正在使用 Firefox 插件(用 JavaScript 编写),需要确定当前登录的 Windows 用户。有没有办法做到这一点?
如何在旧版(非 WebExtensions)Firefox 插件中获取 Windows 用户名?
IT技术
javascript
firefox
firefox-addon
2021-03-22 03:35:24
5个回答
这在 Windows 上有效:
function getUser() {
return Components.classes["@mozilla.org/process/environment;1"].getService(Components.interfaces.nsIEnvironment).get('USERNAME');
}
您可以使用nsIEnvironment接口来获取USERNAME
环境变量。
以下代码适用于我,而不是使用函数调用的 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);
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
祝你好运!
<html>
<head>
<script language="javascript">
function GetUserName()
{
var wshell = new ActiveXObject("WScript.Shell");
alert(wshell.ExpandEnvironmentStrings("%USERNAME%"));
}
</script>
</head>
<body OnLoad="GetUserName();">
</body>
</html>