다음 JavaScript 코드 스 니펫을 사용하여 브라우저 및 버전을 감지합니다. QuirksMode는 유용한 것으로 판명 될 수있는 매우 광범위한 JavaScript 브라우저/장치 감지 객체를 가지고 있습니다.
솔루션 5 - 예방/정보
<user>는 사용자에게 사용중인 jQuery 버전이 $ .Browser 함수를 지원하지 않는다고 알려줍니다. 이 솔루션은 유용성을 위해 아무것도하지 않지만 특정 플러그인을 차단하는 데 사용될 수 있습니다. 유익한 디버깅을 켜는 Migrate 플러그인의 개발자 버전을 사용하는 것이 좋습니다.
<pre class="brush:php;toolbar:false">
jQuery<span>.uaMatch = function( ua ) {
</span> ua <span>= ua.toLowerCase();
</span>
<span>var match = <span>/<span>(chrome)<span>[ /]</span>(<span>[w.]</span>+)</span>/</span>.exec( ua ) ||
</span> <span><span>/<span>(webkit)<span>[ /]</span>(<span>[w.]</span>+)</span>/</span>.exec( ua ) ||
</span> <span><span>/<span>(opera)(?:.*version|)<span>[ /]</span>(<span>[w.]</span>+)</span>/</span>.exec( ua ) ||
</span> <span><span>/<span>(msie) (<span>[w.]</span>+)</span>/</span>.exec( ua ) ||
</span> ua<span>.indexOf("compatible") < 0 && <span>/<span>(mozilla)(?:.*? rv:(<span>[w.]</span>+)|)</span>/</span>.exec( ua ) ||
</span> <span>[];
</span>
<span>return {
</span> <span>browser: match[ 1 ] || "",
</span> <span>version: match[ 2 ] || "0"
</span> <span>};
</span><span>};
</span>
<span>// Don't clobber any existing jQuery.browser in case it's different
</span><span>if ( !jQuery.browser ) {
</span> matched <span>= jQuery.uaMatch( navigator.userAgent );
</span> browser <span>= {};
</span>
<span>if ( matched.browser ) {
</span> browser<span>[ matched.browser ] = true;
</span> browser<span>.version = matched.version;
</span> <span>}
</span>
<span>// Chrome is Webkit, but Webkit is also Safari.
</span> <span>if ( browser.chrome ) {
</span> browser<span>.webkit = true;
</span> <span>} else if ( browser.webkit ) {
</span> browser<span>.safari = true;
</span> <span>}
</span>
jQuery<span>.browser = browser;
</span><span>}
</span>
<span>// Warn if the code tries to get jQuery.browser
</span><span>migrateWarnProp( jQuery, "browser", jQuery.browser, "jQuery.browser is deprecated" );
</span>
소스 : https://raw.github.com/house9/jquery-iframe-auto-height/mas
항상 그렇듯이 의견, 제안 및 개선을 환영합니다
jQuery 브라우저 함수 에 대한 자주 묻는 질문 (FAQ)
jQuery 브라우저 기능은 무엇이며 왜 더 이상 사용되지 않는가? jQuery 브라우저 기능은 jQuery의 기능이 사용자의 브라우저에 대한 정보를 제공 한 기능입니다. 사용자가 사용하는 브라우저와 버전을 감지하는 데 사용되었습니다. 그러나이 기능은 jQuery 버전 1.3에서 더 이상 사용되지 않았으며 버전 1.9에서 제거되었습니다. 감가 상각의 이유는 브라우저 별 코드를 장려하는데, 이는 진보적 인 향상과 우아한 열화의 원칙에 위배되기 때문입니다. 대신, 개발자는 기능 감지를 사용하는 것이 좋습니다.이 기능은보다 신뢰할 수 있고 미래 방지 접근법입니다.
jQuery 브라우저 기능의 감가 상각수의 영향은 무엇입니까?
JQuery 브라우저 기능은 더 이상 새로운 버전의 jQuery에서 지원되지 않음을 의미합니다. 1.9 이상인 jQuery 버전을 사용하는 경우 jQuery 브라우저 기능에 의존하는 모든 코드는 작동하지 않습니다. 이 기능에 의존하는 경우 웹 사이트 나 애플리케이션이 잠재적으로 손상 될 수 있습니다.
<span>if (jQuery.support.opacity)
</span><span>{
</span> <span>//opacity you may do...
</span><span>}
</span>
jQuery 브라우저 기능 오류를 어떻게 수정할 수 있습니까?
jQuery 브라우저 기능과 관련된 오류가 발생하면 가장 좋은 솔루션은 더 이상이 기능에 의존하지 않도록 코드를 업데이트하는 것입니다. 대신 기능 감지를 사용하여 사용자 브라우저의 기능을 결정하십시오. 코드를 업데이트 할 수없는 경우 jQuery Migrate 플러그인을 사용할 수 있으며 jQuery 브라우저 기능을 복원 할 수 있습니다. 기능 감지 란 무엇이며 JQuery 브라우저 기능 대신 어떻게 사용할 수 있습니까? 기능 감지는 브라우저가 특정 기능을 지원하는지 여부를 결정하기 위해 웹 개발에 사용되는 기술입니다. 브라우저와 버전을 확인하는 대신 특정 기능을 사용할 수 있는지 확인하십시오. 이것은보다 신뢰할 수 있고 미래를 방지하는 접근법입니다. 기능 감지에 ModernIZR 라이브러리를 사용할 수 있습니다.
jQuery Migrate 플러그인이란 무엇이며 jQuery 브라우저 기능 오류에 어떻게 도움이 될 수 있습니까? jQuery Migrate 플러그인은 도움이되는 도구입니다. jQuery 코드를 최신 버전의 jQuery로 작업하도록 업데이트합니다. 이전 코드가 여전히 최신 버전의 jQuery와 함께 작동하도록 감가 상각 된 기능과 동작을 복원합니다. jQuery 브라우저 기능에 더 이상 의존하지 않도록 코드를 업데이트 할 수없는 경우 jQuery Migrate 플러그인을 임시 솔루션으로 사용할 수 있습니다.
jQuery Migrate 플러그인을 사용하여 jQuery 브라우저 기능 오류를 수정하려면 어떻게해야합니까? jQuery Migrate 플러그인을 사용하려면 jQuery를 포함한 후 HTML 파일에 포함시켜야합니다. 플러그인을 포함 시키면 jQuery 브라우저 기능 및 기타 더 이상 사용되지 않은 기능을 자동으로 복원합니다. jQuery 브라우저 기능에 대한 대안이 있습니까? jQuery 브라우저 기능. 가장 인기있는 대안 중 하나는 기능 감지이며, 이는보다 신뢰할 수 있고 미래 방지 방식입니다. 기능 감지를 위해 ModernIZR 라이브러리를 사용할 수 있습니다. 또 다른 대안은 Navigator.useragent 속성을 사용하는 것이지만, 쉽게 스푸핑 할 수 있으므로 권장되지는 않지만 브라우저 감지보다 기능 감지가 선호되는 이유는 무엇입니까?
기능 감지가 브라우저보다 선호됩니다. 더 신뢰할 수 있고 미래 방지 접근 방식이기 때문에 탐지. 브라우저 감지는 사용자 에이전트 문자열에 의존하여 쉽게 스푸핑하거나 허위 진술 할 수 있습니다. 반면, 기능 감지 확인 특정 기능을 사용할 수 있는지 확인합니다. 이는 사용자 브라우저의 기능을 결정하는보다 정확한 방법입니다.
jQuery 대신 기능 감지를 사용하도록 코드를 업데이트하려면 어떻게해야합니다. 브라우저 기능? 기능 감지를 사용하려면 코드를 업데이트하려면 jQuery 브라우저 기능의 인스턴스를 특정 기능 검사로 바꿔야합니다. Modernizr 라이브러리를 사용하여 도움을 줄 수 있습니다. 예를 들어, 사용자가 Internet Explorer를 사용하고 있는지 확인하는 대신 Browser가 Internet Explorer의 고유 한 특정 기능을 지원하는지 확인할 수 있습니다. jQuery에서 다른 감가 상각 된 기능을 만나면 어떻게해야합니까? jQuery에서 다른 감가 상각 된 기능을 만나면 가장 좋은 솔루션은 더 이상 이러한 기능에 의존하지 않도록 코드를 업데이트하는 것입니다. JQuery Migrate 플러그인을 임시 솔루션으로 사용할 수 있지만 장기 호환성을 위해 코드를 업데이트하는 것이 좋습니다. 감가 상각 된 기능 및 대안에 대한 최신 정보는 항상 jQuery 문서를 확인하십시오.