Posso rilevare il tipo e la velocità della cpu e/o la quantità di RAM che un computer ha da una pagina Web (javascript si spera)?Posso rilevare il tipo e la velocità della cpu e/o la quantità di RAM che un computer ha da una pagina Web (javascript si spera)?
risposta
L'unica cosa con qualsiasi conoscenza del sistema su cui è in esecuzione è il sistema operativo. Il sistema operativo crea un livello di astrazione in cui viene eseguita ogni applicazione. Le applicazioni non possono sapere quale processore hai o quanta RAM hai senza chiedere al sistema operativo. Nessun browser moderno chiederà.
La Java Virtual Machine fa chiedere al sistema operativo, in modo che si possa fare con un applet Java.
Altrimenti avresti bisogno di un plugin per il browser.
No, non è possibile. Non c'è accesso alle informazioni sull'hardware tramite JavaScript nei browser web. Potresti avere un po 'di fortuna con i plug-in del browser, ActiveX, ecc.
Queste informazioni non sono disponibili, almeno non in modo coerente o affidabile utilizzando solo JavaScript ... flash può essere un'opzione, ma ci sono molte restrizioni di sicurezza intorno a questo, quindi non sono sicuro di ciò che è disponibile ad esso.
No, questo non è possibile. A meno che non chieda all'utente, a livello di programmazione.
Chiedere all'utente di inserire i dati non è realmente "rilevatore" :) –
Sì, è per questo che ho detto che rilevare non è possibile. :) – Ruel
In IE è possibile rilevare il cpuClass. Non ti dice molto, ma forse c'è qualche utilità per te.
http://msdn.microsoft.com/en-us/library/ms533697%28v=VS.85%29.aspx
Su un sistema AMD a 64 bit questo restituisce ancora 'x86' * così * questo probabilmente ha lo scopo di distinguere solo tra le istruzioni di elaborazione ARM e x86 probabilmente implementate con il tentativo di Microsoft di entrare nel mercato mobile e raccogliere le statistiche ARM contro x86. Questo non determinerà nemmeno 32 contro 64 bit. Comunque, interessante. – John
Se il vostro obiettivo finale sta facendo diverse azioni sulla base del se o non faranno rendono veloce/correttamente sul comp utenti, si potrebbe cronometrare alcuni processi chiave di volta ed eseguire processi diversi in base al risultato.
Non è possibile rilevare il tipo e la velocità della CPU. Ma puoi trovare il numero di core e le informazioni del produttore della CPU. È possibile calcolare le prestazioni del sistema in base al numero di core della CPU. Il numero di core è direttamente proporzionale alla performance. Una macchina ad anima più alta offre buone prestazioni.
navigator.hardwareConcurrency mostra il numero di core della CPU, ma funziona solo su Chrome.
navigator.hardwareConcurrency
navigator.userAgent fornisce le informazioni complete del sistema operativo e del browser.
navigator.userAgent
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36"
navigator.platform mostra Informazioni sull'impianto
navigator.platform
"MacIntel"
Spero che questo aiuti.
Mentre hardwareConcurrency è un concetto HTML5 elegante ancora in fase di sviluppo, vale la pena notare che non è possibile fidarsi di userAgent per fornire tutte le informazioni richieste. I programmi utente sono stringhe arbitrarie senza un formato stabilito. Sebbene molti browser moderni includano il sistema operativo, non sono obbligati a farlo. Puoi anche spoofare facilmente un agente utente con i plugin del browser. Alcuni dispositivi potrebbero riportare "Intel" o "x64" nell'agente utente, mentre altri potrebbero non riferire affatto l'architettura. – stevendesu
Sì, ma possiamo identificare la piattaforma utilizzando useragent e piattaforma. Sul sistema Windows/Linux navigator.platform mostra x64 o x32 e su Mac mostra MacIntel. Sì, hardwareConcurrency ancora in fase di sviluppo e possiamo utilizzarlo solo su Chrome – skipper21
Vuoi queste statistiche per il computer client o il server? – sje397