Я работаю над дополнением Firefox (которое написано на JavaScript) и вам нужно определить пользователя Windows, который в настоящее время вошел в систему. Есть ли способ сделать это?
Получить имя пользователя Windows в унаследованном (а не в WebExtensions) дополнении Firefox
Ответ 1
Это делает трюк в Windows:
function getUser() {
return Components.classes["@mozilla.org/process/environment;1"].getService(Components.interfaces.nsIEnvironment).get('USERNAME');
}
Ответ 2
Вы можете использовать nsIEnvironment интерфейс, чтобы получить переменную USERNAME
environmnet.
Ответ 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);
Ответ 4
В 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
Удачи!
Ответ 5
<html>
<head>
<script language="javascript">
function GetUserName()
{
var wshell = new ActiveXObject("WScript.Shell");
alert(wshell.ExpandEnvironmentStrings("%USERNAME%"));
}
</script>
</head>
<body OnLoad="GetUserName();">
</body>
</html>