2010-09-28 10 views

Respuesta

5

Lo único que tiene conocimiento del sistema en el que se está ejecutando es el sistema operativo. El sistema operativo crea una capa de abstracción en la que se ejecuta cada aplicación. Las aplicaciones no pueden saber qué procesador tiene o cuánta RAM tiene sin consultar el sistema operativo. Ningún navegador moderno preguntará.

La Máquina Virtual de Java pregunta al Sistema Operativo, por lo que podría hacerlo con un applet de Java.

De lo contrario, necesitarás un complemento para el navegador.

7

No, eso no es posible. No hay acceso a la información de hardware a través de JavaScript en los navegadores web. Puede tener algo de suerte usando los complementos del navegador, ActiveX, etc.

2

Esta información no está disponible, al menos no de manera consistente o confiable usando JavaScript ... flash puede ser una opción, pero hay muchas restricciones de seguridad también, así que no estoy seguro de qué hay disponible.

+0

ninguna de esa información está disponible para Flash. – Allan

+0

@Allan - Flash es más hábil para decir que ejecuta su propio benchmark de CPU, etc. –

+0

@Nick Craver: lo siento, no estoy seguro de a qué se refiere. – Allan

2

No, eso no es posible. A menos que vayas a preguntar al usuario, mediante programación.

+4

Pedirle al usuario que ingrese los datos realmente no es "detectar" :) –

+0

Sí, es por eso que dije que la detección no es posible. :) – Ruel

1

En IE puede detectar la cpuClass. No te dice mucho, pero tal vez te sirva de algo.

http://msdn.microsoft.com/en-us/library/ms533697%28v=VS.85%29.aspx

+0

En un sistema AMD de 64 bits, esto todavía devuelve 'x86' * por lo que es probable que solo diferencie entre las instrucciones de procesamiento ARM y x86 probablemente implementadas con el intento de Microsoft de ingresar al mercado móvil y recopilar estadísticas ARM en comparación con x86. Esto ni siquiera determinará 32 versus 64 bit. Aún así, interesante. – John

0

Si su objetivo final es hacer diferentes acciones basadas en el si o no van a velocidad de representación/correctamente en el borrador usuarios, se podría medir el tiempo ciertos procesos distorsión trapezoidal y ejecutar diferentes procesos con base en el resultado.

3

No es posible detectar el tipo y la velocidad de la CPU. Pero puede encontrar la cantidad de núcleos y la información del fabricante de la CPU. Puede averiguar el rendimiento del sistema en función del número de núcleos de la CPU. El número de núcleos es directamente proporcional al rendimiento. La máquina de núcleo superior ofrece un buen rendimiento.

navigator.hardwareConcurrency muestra la cantidad de núcleos de CPU, pero solo funciona en cromo.

navigator.hardwareConcurrency 

navigator.userAgent proporciona la información completa del sistema operativo y el navegador.

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 muestra información Sistema

navigator.platform 
"MacIntel" 

Espero que esto ayude.

+0

Si bien hardwareConcurrency es un ingenioso concepto de HTML5 aún en desarrollo, vale la pena señalar que no se puede confiar en que userAgent brinde toda la información que están solicitando. Los agentes de usuario son solo cadenas arbitrarias sin formato establecido. Si bien muchos navegadores modernos incluirán el sistema operativo, no están obligados a hacerlo. También puede falsificar fácilmente un agente de usuario con los complementos del navegador. Algunos dispositivos pueden informar "Intel" o "x64" en el agente de usuario, mientras que otros pueden no informar la arquitectura en absoluto. – stevendesu

+0

Sí, pero podemos identificar la plataforma usando useragent y plataforma. En el sistema Windows/Linux, navigator.platform muestra x64 o x32 y en Mac muestra MacIntel. Sí, hardwareConcurrency aún está en desarrollo y solo podemos usarlo en Chrome – skipper21

Cuestiones relacionadas