Подтвердить что ты не робот

Получить имя пользователя Windows в унаследованном (а не в WebExtensions) дополнении Firefox

Я работаю над дополнением Firefox (которое написано на JavaScript) и вам нужно определить пользователя Windows, который в настоящее время вошел в систему. Есть ли способ сделать это?

4b9b3361

Ответ 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>