2011-08-25 6 views
0

이어야 Firefox 4 이상을 확인해야합니다. 날 믿어, 나는해야 해.Firefox 4 이상 스니핑을위한 접근 방식

나는 다음과 같은 스니핑 코드로 갈 계획입니다 : 사람이 글로벌 FormData 방법을 추가 할 것 (나에게) 오히려 않을 것 때문에

if ('MozAppearance' in document.documentElement.style) { 

    //We have Mozilla 

    if (!!window.FormData) { 

     //We have Firefox4+ 

    } 
} 

내가 그것에 대해 확인 바랍니다.

브라우저 스니핑 방법과 관련된 일반적인 위험을 감당할 수 있다고 가정 할 때이 문제가 발생합니까? 파이어 폭스에서 window.FormData에 대한

문서는 여기에 있습니다 :

https://developer.mozilla.org/en/DOM/XMLHttpRequest/FormData

감사합니다!

+2

하지만 Firefox * 4 이상을 확인해야하는 이유는 무엇입니까? 더 나은 접근법을 고려하지 않았다고 (가능하지는 않지만) 가능합니다. –

+2

나는 당신을 믿지 않는다. –

+1

왜 FF4가 필요한지 알고 싶습니다. – Layke

답변

0

귀하가 합리적인 기능 감지인지 여부는 귀하에게 달려 있습니다. FormData의 존재에 대한 테스트가 충분하다고 생각한다면; 그걸로 가라.

확인하는 기능을 "증가"시킬 수 있습니다. 당신은 또한뿐만 아니라, window.URL에 대한 new feature in Firefox 4 볼 수 있습니다 :

if (!!window.FormData && !!window.URL) { 

    //We have Firefox4+ 

} 

을 이제 당신의 확율을 누군가가 모두도 낮은 선언 한 것이다. 사용자를 변경하지 않을 정도로 사용자를 신뢰한다면 사용자 에이전트도 관련시킬 수 있습니다.

+0

야생에서 가양 성의 가능성을 낮추기 위해 테스트를 결합하는 방식이 마음에 듭니다. 감사! –

0

window.history.pushState는 확인할 수있는 또 다른 프로그램입니다. FF3x가 아닌 FF4 +에 나타나는 기능으로 하루 종일이 작업을 수행 할 수 있다고 생각합니다.

0

브라우저 스니핑 방식과 관련된 일반적인 위험이 있다고 가정 할 때이 문제가 발생합니까?

접두사를 삭제하는 순간이 깨집니다.
모든 -moz- properties은 그 사실을 입증하지 않습니다.
||을 사용하여 최근 모질라 확장을 계속 추가해야한다는 것을 기억하십시오.

+0

-moz-appearance는 운영 체제 기반의 기본 컨트롤을 사용하여 요소를 렌더링하는 XUL 플랫폼의 일부입니다.이것이 표준화 될 가능성은 극히 낮습니다. 접두어가 항상있을 것입니다. – vcsjones

+0

@jones [oh rly?] (http://dev.w3.org/csswg/css3-ui/#appearance) – Knu