티스토리 뷰

Web 사이트에 모바일과 데스크탑, 태블릿 등이 


뒤섞여 액세스하게되면 각각 나누어 정보 전달을 실시하고 싶다고 생각하게됩니다. 


또한 스마트 폰에서도 사용할 수있는 기능이 다르거 나하고 


따라서 처리 분류가 복잡하게되어 있을지도 모릅니다. 


그래서 사용해보고 싶은 것이 Spec.js입니다. 


세부적으로 단말기의 정보를 좁힐 수있는 라이브러리입니다.



Spec.js 사용법



 Spec.js 데모입니다. 


사용자 에이전트를 사용하여 각종 기능이나 스펙을 알 수 있습니다. 


예를 들어 iPhone 6의 경우는 다음과 같이됩니다.


  1. var ua = new UserAgent(); // iPhone 6
  2. var spec = new Spec(ua);
  3. spec.UNKNOWN // -> false
  4. spec.SOC // -> "A8"
  5. spec.GPU // -> "POWERVR GX6450",
  6. spec.RAM // -> 1024
  7. spec.BLE // -> true
  8. spec.NFC // -> false
  9. spec.ATOM // -> false
  10. spec.SIMD // -> true
  11. spec.H265_ENCODER // -> false
  12. spec.H265_DECODER // -> false
  13. spec.FORCE_TOUCH // -> false
  14. spec.FORCE_CLICK // -> false
  15. spec.MAX_THREADS // -> 2
  16. spec.MAX_TOUCH_POINTS // -> 5
  17. spec.MAX_TEXTURE_SIZE // -> 16384
  18. spec.LOW_END // -> false
  19. spec.OUTMODED // -> false



동영상 인코더, 디코더이거나 3D Touch를 사용할 수 있는지 여부 등 


세부적 정보를 알 수 있습니다. 


이것은 각 기종의 정보를 기재 한 JSON 파일을 사용하고 있기 때문에 


사용자 에이전트를 바꾸기위한 정보를 변경할 수 있습니다. 


서버 사이드에서도 사용할 수 있고, 


임의의 문자열에 사용자 에이전트를 만들면 그 판정에 사용할 수 있습니다.


  1. var ua = new UserAgent("DoCoMo/2.0 P07A3(c500;TB;W24H15)");
  2. var spec = new Spec(ua);
  3. spec.FP_TLS // -> true
  4. spec.FP_UTF8 // -> true
  5. spec.FP_COOKIE // -> true
  6. spec.FP_CERT_SHA1 // -> true
  7. spec.FP_MALFUNCTION // -> true
  8. spec.FP_FLASH_LITE // -> 3.1
  9. spec.FP_DISPLAY_LONG // -> 662
  10. spec.FP_DISPLAY_SHORT // -> 480



현재 500 개 이상의 모델에 대한 정보가 축적되어있어 iPhone 6 plus 


등의 최신 기종에도 대응하고 있습니다. 


대부분의 기종에 대해서는 Spec.js을 사용하여 처리 판정을 편하게 할 것이 아닐까요. 


Spec.js는 node / JavaScript로 만든 오픈 소스 소프트웨어 (MIT License)입니다.



uupaa/Spec.js: Mobile device and Browser spec detection.







댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함