Получить имя пользователя Windows в устаревшем (не WebExtensions) дополнении Firefox - PullRequest
25 голосов
/ 03 июня 2010

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

Ответы [ 5 ]

9 голосов
/ 03 июня 2010

Это делает трюк в Windows:

function getUser() {
   return Components.classes["@mozilla.org/process/environment;1"].getService(Components.interfaces.nsIEnvironment).get('USERNAME');
}      
5 голосов
/ 03 июня 2010

Вы можете использовать nsIEnvironment интерфейс, чтобы получить USERNAME переменную environmentmnet.

3 голосов
/ 06 апреля 2013

Следующий код работает для меня вместо события 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);
1 голос
/ 27 марта 2013

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

Удачи!

0 голосов
/ 03 июня 2010
<html>
<head>
    <script language="javascript">
        function GetUserName()
        {
            var wshell = new ActiveXObject("WScript.Shell");
            alert(wshell.ExpandEnvironmentStrings("%USERNAME%"));
        }
    </script>
</head>
<body OnLoad="GetUserName();">
</body>
</html>
...