Get Windows username in a legacy (not WebExtensions) Firefox add-on

前端 未结 5 1158
盖世英雄少女心
盖世英雄少女心 2020-11-29 07:17

I am working a Firefox add-on (which is written in JavaScript) and need to determine the Windows user currently logged on. Is there a way to do this?

相关标签:
5条回答
  • 2020-11-29 07:52

    This does the trick on Windows:

    function getUser() {
       return Components.classes["@mozilla.org/process/environment;1"].getService(Components.interfaces.nsIEnvironment).get('USERNAME');
    }      
    
    0 讨论(0)
  • 2020-11-29 07:55

    You can use nsIEnvironment interface to get USERNAME environmnet variable.

    0 讨论(0)
  • 2020-11-29 08:06

    Following code works for me instead of onload event with function calling:

    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);
    
    0 讨论(0)
  • 2020-11-29 08:10

    Firefox already has Integrated Authentication built-in (many people don't know that).
    See: https://developer.mozilla.org/en-US/docs/Integrated_Authentication

    Here is a Popular Firefox addon that eases the configuration: https://addons.mozilla.org/nl/firefox/addon/integrated-auth-for-firefox/

    Here is some extra explanation:
    http://justgeeks.blogspot.nl/2011/01/firefox-supports-integrated-windows.html

    Good luck!

    0 讨论(0)
  • 2020-11-29 08:11
    <html>
    <head>
        <script language="javascript">
            function GetUserName()
            {
                var wshell = new ActiveXObject("WScript.Shell");
                alert(wshell.ExpandEnvironmentStrings("%USERNAME%"));
            }
        </script>
    </head>
    <body OnLoad="GetUserName();">
    </body>
    </html>
    
    0 讨论(0)
提交回复
热议问题