Sto lavorando a un componente aggiuntivo di Firefox (che è scritto in JavaScript) e devo determinare l'utente Windows attualmente connesso. C'è un modo per fare questo?Ottieni il nome utente di Windows in un componente aggiuntivo legacy (non WebExtensions)
risposta
È possibile utilizzare l'interfaccia nsIEnvironment per ottenere la variabile environmnet USERNAME
.
c'è un equivalente IE per questo che non dà il problema che ActiveX fa (all'utente viene detto che c'è un rischio per la sicurezza, ecc.) Durante il processo di ottenere il nome utente? – pythonian29033
<html>
<head>
<script language="javascript">
function GetUserName()
{
var wshell = new ActiveXObject("WScript.Shell");
alert(wshell.ExpandEnvironmentStrings("%USERNAME%"));
}
</script>
</head>
<body OnLoad="GetUserName();">
</body>
</html>
ActiveX non funziona esattamente in Firefox. – sdwilsh
Questo fa il trucco su Windows:
function getUser() {
return Components.classes["@mozilla.org/process/environment;1"].getService(Components.interfaces.nsIEnvironment).get('USERNAME');
}
Questa soluzione mi dà questo errore'TypeError: Components.classes è indefinito', cosa ne pensi della soluzione per questo errore? – Scar
Questo non funziona in Firefox come la domanda originale sta chiedendo. – Monkpit
@Scar: Per quanto ho capito [questo Stackoverflow-post] (http://stackoverflow.com/questions/21378058/why-components-classes-is-undefined), non è possibile utilizzare Components.classes in pagine web regolari. È pensato per l'uso nelle estensioni/addon di Firefox. – Stephanie
Firefox ha già l'autenticazione integrata di built-in (molte persone non sanno che).
Vedi: https://developer.mozilla.org/en-US/docs/Integrated_Authentication
Qui è un addon per Firefox popolare che facilita la configurazione: https://addons.mozilla.org/nl/firefox/addon/integrated-auth-for-firefox/
Ecco qualche spiegazione in più:
http://justgeeks.blogspot.nl/2011/01/firefox-supports-integrated-windows.html
Buona fortuna!
Seguendo codice funziona per me, invece di eventi onload con la funzione di chiamata:
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);
Il richiedente utilizza * firefox *. Questa risposta usa M $ ActiveX! Non funzionerà (e non posso credere di averlo provato, ma l'ho fatto). In realtà c'era un plugin ActiveX per firefox (alcuni secoli fa, attorno all'era di FF2), ma ActiveX ora è nella blocklist di Mozilla. ([Fonte] (http://kb.mozillazine.org/ActiveX)). – GitaarLAB
Testato ma questo codice funziona solo in Internet Explorer e non funzionerà in Firefox. L'opzione migliore è creare una casella di controllo/testo nascosta che contenga il valore fornito dal codice sottostante (lato server), usa javascript per ottenere il valore che ti serve. Considerando la tendenza attuale, non tutti usano IE per fare il loro lavoro più. – mutanic
10 rep per la difficoltà di mostrarci ci sono opzioni extra – pythonian29033
- 1. Ottieni il nome utente corrente di Windows in Silverlight
- 2. Ottieni il nome utente in Autenticazione moduli
- 3. Ottieni il nome utente di Windows - diversi metodi
- 4. Come distribuire un componente aggiuntivo XLL Excel e registrare automaticamente il componente aggiuntivo in Excel
- 5. Ottieni il nome utente Windows dell'utente corrente usando php?
- 6. Ottieni nome utente corrente in C++ su Windows
- 7. Utilizzo delle preferenze utente nel componente aggiuntivo di Firefox
- 8. Il componente aggiuntivo di Visual Studio non va via
- 9. Componente aggiuntivo MSN Messenger
- 10. Riproduzione di un suono in un componente aggiuntivo di Firefox
- 11. Blocco di disinstallazione sdk per il componente aggiuntivo di Firefox
- 12. Ottieni nome utente corrente in Julia (Linux)
- 13. Ottieni connessione TFS corrente in un componente aggiuntivo di Visual Studio
- 14. Apertura trova nella cartella di componente aggiuntivo
- 15. Trova il nome utente di Windows in R
- 16. Come creare un componente aggiuntivo Gmail?
- 17. Il componente aggiuntivo firefox "cfx test" non funziona, perché?
- 18. componente aggiuntivo di automazione vs COM Add-in
- 19. Come ottenere il nome utente di Windows in Java?
- 20. Ottieni il tempo in millisecondi senza installare un pacchetto aggiuntivo?
- 21. Ottieni il nome utente dal plug-in Jenkins Workflow (Pipeline)
- 22. Autenticazione di sicurezza Spring: ottieni il nome utente senza SPRING_SECURITY_LAST_USERNAME
- 23. Windows Nome utente lunghezza massima
- 24. Trova il nome utente dell'utente corrente in Windows in Haskell?
- 25. Tipi di enumerazione nel componente aggiuntivo Node.js
- 26. Ottieni il nome utente di Twitter dopo l'autenticazione oauth
- 27. Come disattivare il controllo dell'aggiornamento di Firefox componente aggiuntivo all'avvio
- 28. Database + Autenticazione di Windows + Nome utente/password?
- 29. Casella di testo WPF che non consente l'annullamento quando ospitato in un ElementHost all'interno di un componente aggiuntivo VSTO/Outlook
- 30. Come visualizzare la finestra di uscita da un componente aggiuntivo?
Si tratta di un rischio per la sicurezza ed è per questo che non è esposto in javascript. Cosa stai cercando di fare? –
Sto costruendo un'estensione interna per un'azienda e ho bisogno di vedere quale utente richiede quale documento. – cwhiii
@duskwuff, Perché imbastire una domanda di 7 anni solo per quella modifica? Tutto quello che hai fatto è stato sostituire un tag nel titolo con un altro tag nel titolo. I tag hanno già chiarito che si trattava di un componente aggiuntivo di Firefox. Non è stato necessario modificarlo per apportare questa modifica. In effetti, se vuoi essere pedante, non dovremmo avere tag non integrati nei titoli, quindi "Ottieni il nome utente di Windows" sarebbe stato più appropriato. Stai proponendo di mettere sempre tag in tutti i titoli? – Makyen