2013-02-19 1 views
2

우선 매우 비슷한입니다 : Workaround for file input label click (Firefox)해결 jQuery를 모든이의 1.9

하지만 제공되는 솔루션은 1.9+

은 $ .browser 변수 jQuery를 작동하지 않습니다 더 이상 존재하지 않습니다. 왜냐하면 이제 우리는 feature detection을해야하기 때문입니다.

필자가 필요로하는 기능을 감지하고 싶지만 jQuery에서 이와 같은 지원이없는 것 같습니다. 브라우저 감지가 사라졌습니다. 기능 감지가 필요한 것을 감지하지 못하는 것 같습니다. 거기에 좋은 해결책이 있습니까? Modernizr 솔루션도 만족 스러우며 plain-vanilla-js 솔루션을 사용할 수 있습니다.

감사합니다.

+0

주문을 취소하는 것이 해결책이 아닙니다. – Sirion

+0

나는 click-> input 클릭 트리거 솔루션이라는 라벨을 사용하고 싶었지만 다른 브라우저에서는 이중 파일 대화 상자가 생겼습니다. 나는 이것에 대한 지원을 감지 할 수있는 방법을 생각할 수 없다. 그래서 나는 단지 사용자 에이전트를보고이 문제가있는 특정 브라우저와 버전을 찾는 것을 제안한다. –

답변

3
if (window.mozIndexedDB !== undefined) { 
    //do firefox things 
} 

Firefox의 afaik에서만 유효합니다.

예 시험 :

if (window.mozIndexedDB !== undefined) { 
    alert('You are using Firefox'); 
} 

당신은 window.navigator.userAgent보고하려고하지만 난 그것을하지 않는 것이 좋습니다, 다른 브라우저의 무리는 모질라으로 식별 할 수는 몇 가지 예를 위해이 질문을 참조하십시오 Why Does “navigator.userAgent” in javaScript returns the String “Mozilla” when tried in a google chrome borwser?

+0

window.Mozilla에 액세스 할 때 내 Firefox가 반환하지 않음 – Sirion

+0

죄송합니다. 잘못된 내용을 사용했습니다. 편집 된 답변 – daveyfaherty

+0

이 더 좋았다면 navigator.userAgent.indexOf ('Firefox')! == - 1'입니까? – Sirion

0

모범 사례는 아니지만 jQuery Migrate plugin을 사용해 보시지 않으시겠습니까? $ .browser와 다른 제거 된 기능을 다시 가져옵니다.

+0

이것은 16.7kb로, Firefox를 확인하기위한 도구이기 때문에 Firefox 브라우저입니다. – Sirion