2011-07-01 3 views
2

javascript에서 navigator.cpuClass를 사용하여 정확한 다운로드를 제공하기 위해 방문자의 CPU 유형을 얻으려고합니다. 내 테스트에서 나는 "Win64"를 기대할 때 "Win32"를 리턴하는 navigator.cpuClass의 예를 들었다. 내 PC의 반환에 systeminfo 명 유틸리티를navigator.cpuClass가 잘못된 이유는 무엇입니까?

Intel64 가족 6 모델 15 스테핑 (11) GenuineIntel ~ 더 설명되어 2,400 MHz의 (Q6600) : http://ark.intel.com/Product.aspx?id=29765

자바 스크립트가 64 비트가 표시되지 왜 아무도 말해 줄 수 CPU? 해당 CPU를 안정적으로 감지해야합니다 ...

+1

가지고있는 것을 제공하고 사용자가 원하는 것을 결정하게하십시오. – RobG

답변

5

아마도 32 비트 브라우저를 사용하고 있습니다. here에서 샘플을 시험해 본 결과, 64 비트 OS (Chrome 32 비트 빌드)를 실행 중이지만 동일한 결과 (Win32)가 표시됩니다.

그러나 내 경우 Chrome의 appVersion 문자열은 Wow64 에뮬레이션 레이어에서 실행된다는 것을 나타냅니다. 아마도 당신은 다른 브라우저에 대해서도 그러한 힌트를 찾을 수 있습니다.

일반적으로 CPU 클래스 은 브라우저가 빨간색 또는 파란색 알약을 사용하는지 여부를 알 수 없으므로 감지 할 수 없습니다.

실용적인 해결책은 브라우저가 반환하는 것을 기반으로 기본 선택을 제공하고 사용자가 64 비트 버전으로 전환 할 수 있도록하는 것입니다. 대부분의 32 비트 소프트웨어는 64 비트 환경에서 완벽하게 실행되기 때문에 (대부분이 경우에 의해 입증 됨) 대부분의 사용자는 '잘못된'다운로드를 선택했는지 알 수 없습니다.

+0

navigator.appVersion에서 WOW64도 가져옵니다. 나는 그것을 시험하고보아야 할 것입니다. 그게 더 좋은 암시가 될 것 같은데. – Taptronic

+1

@ 최적의 솔루션 : 몇 가지 추가 노트를 추가했습니다. –

+0

조언 해 주셔서 감사합니다. – Taptronic

관련 문제