2011-02-17 11 views
12

Oye, Me pregunto si hay un método para detectar si se está ejecutando la versión de IE8 de 64 bits o de 32 bits.Detecta IE8 64bit en Javascript

Debido a que hay algunos errores importantes en el Facebook Javascript SDK que sólo aparecer dentro de IE8x64 ...

Respuesta

12

De acuerdo con esta IEBlog post usted debería ser capaz para leerlo desde los navegadores User-Agent string a través de navigator.userAgent:

La detección de 64 bits de Internet Explorer

medida que las máquinas con más de 4 gigabytes de memoria RAM vuelto más común, cada vez más usuarios están ejecutando las versiones de 64 bits de Windows. Para compatibilidad con complementos de terceros, la edición de 32 bits de Internet Explorer sigue siendo la predeterminada en los sistemas de 64 bits. Sin embargo, en algunos casos puede ser útil para los sitios web reconocer cuándo los usuarios están visitando usando sistemas de 64 bits; por ejemplo, un sitio puede querer saber si ofrecer una descarga ejecutable de 64 bits.

Los tokens en la cadena User-Agent le permitirán determinar si el usuario ejecuta o no una versión de Windows de 64 bits y si está ejecutando la edición de 64 bits de Internet Explorer.

64-bit IE en Windows de 64 bits:

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Win64; x64; Trident/4,0)

32- bit IE en Windows de 64 bits:

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; WOW64; Trident/4.0)

Por cierto, WOW64 es sinónimo de “Windows en Windows de 64 bits.”

+0

Genial, eso es útil, aunque no es accesible con JS. ¡Muchas gracias! –

+2

@Christian Engel: ¡De nada! ¿Qué quieres decir con "no accesible con JS"? Algo así como 'javascript: alert (navigator.userAgent.indexOf (" MSIE 8.0 ")! = - 1 && navigator.userAgent.indexOf (" x64 ")! = - 1);' funciona bien. –

3

La cadena de agente de usuario para un navegador Internet Explorer de 64 bits indicará que se trata de 'x 64' o 'Win64' si se trata de un navegador de 64 bits.

http://blogs.msdn.com/b/ie/archive/2009/01/09/the-internet-explorer-8-user-agent-string-updated-edition.aspx

Una cadena de agente de usuario IE8 64 bits:

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Win64; x64; Trident/4.0)

frente a un 32-bit

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; WOW64; Trident/4.0)

2

Para 64 bits IE en Windows de 64 bits window.navigator.platform será "Win64" y window.navigator.cpuClass será "x 64".

Para 32 bits IE en 64 bits Windows window.navigator.platform será "Win32" y window.navigator.cpuClass será "x86".

Para Windows de 32 bits (que, por lo tanto, debe ejecutar IE de 32 bits), window.navigator.platform será "Win32" y window.navigator.cpuClass no estará definido (creo).

-

Fuente:an app that uses JavaScript to determine if someone is using a 32 bit or 64 bit processor hice. You can see the code here on GitHub.