2011-12-14 3 views
4

내가 한 모든 읽기에서 사용자 에이전트 문자열을 사용하는 것이 스푸핑 될 수 있으므로 권장하지 않습니다. 장치가 방해받을 수 있습니다.브라우저 기능을 감지하는 방법은 무엇입니까?

또한 브라우저 기능 테스트를 수행하는 것이 가장 좋습니다.

어떻게하면됩니까? 내 말은, 내가 할 수있는 몇 가지 표준 기능 테스트가 있습니까? object detection?

한 가지 더 걱정되는 점은 사용자가 사이트에 액세스 할 때마다 약간의 오버 헤드가 포함되지 않을까요? 나는 몇몇 쿠키를 사용하여 이것을 막을 수 있음을 안다.

jQuery와 같은 타사 플러그인/프레임 워크를 사용하지 마십시오.

+1

슬픈 당신이 [모더 나이저 타사을 원하지 않는 ] (http://www.modernizr.com/)은 당신이 원하는 것을 정확히합니다. –

+1

요점은, 어떻게하는지 배웁니다. 하지만 링크에 감사드립니다. – ThinkingMonkey

+1

http://www.quirksmode.org/js/detect.html – noob

답변

5

Modernizr은 기능 감지를 수행하는 라이브러리입니다. 라이브러리를있는 그대로 사용하고 원하는 기능을 쿼리하거나 원하는 특정 기능에 대한 작동 방식을 살펴보고이를 검색하여 자신의 코드에 복사 할 수 있습니다.

특정 기능에 대해 기능 감지를 수행하는 방법은 특정 기능에 전적으로 달려 있습니다.

일반적으로 실제 기능 감지는 매우 빠릅니다 (쿠키의 검색/저장보다 훨씬 빠름). 또한 사용자가 기능 변경 사항이있는 최신 버전의 브라우저로 업그레이드 할 때마다 항상 기능 감지를 수행하는 것이 가장 좋습니다. 당신이 Array 객체에 .forEach() 메소드를 사용할 수 있는지 여부를 알고 싶다면

예를 들어, 당신은 단순히이를 사용할 수 있기 때문에

if (Array.prototype.forEach) { 
    // enter code here 
} 
+0

'실제 기능 감지는 일반적으로 매우 빠름'을 지적 해 주셔서 감사합니다. 여기에 언급 된 링크를 통해 갈 것입니다. 돌아와. – ThinkingMonkey

2

이 주제에 대해 이야기하는 MSDN 잡지 기사는 No Browser Left Behind: An HTML5 Adoption Strategy입니다.

그들은 프레임 워크를 사용하는 것을 언급하지만 그것없이 설명 된 기술을 적용 할 수 있습니다.

+0

링크를 제공해 주셔서 감사합니다. 전체적으로 갈 것이고 여기로 돌아올 것입니다. 읽기 더 :). – ThinkingMonkey

관련 문제