최근 프로젝트 요구로 인해 jquery의 사이클 플러그인을 사용해야 하는데 프로젝트에서는 항상 브라우저 개체를 지원하지 않는 jquery1.9를 사용하고 있었는데, Baidu에서 검색해서 해결 방법을 찾았습니다.
사이클 플러그인의 소스 코드에 다음 코드를 직접 추가하세요.
(function(jQuery){
if(jQuery.browser) return;
jQuery.browser = {};
jQuery .browser .mozilla = false;
jQuery.browser.webkit = false;
jQuery.browser.msie = false; .userAgent ;
jQuery.browser.name = navigator.appName;
jQuery.browser.fullVersion = ''parseFloat(navigator.appVersion)
jQuery.browser.majorVersion =parseInt(navigator.appVersion,10 );
var nameOffset,verOffset,ix;
// Opera에서 실제 버전은 "Opera" 뒤 또는 "Version" 뒤입니다.
if ((verOffset=nAgt.indexOf("Opera ") )!=-1) {
jQuery.browser.opera = true;
jQuery.browser.name = "Opera";
jQuery.browser.fullVersion = nAgt.substring(verOffset 6);
if ((verOffset=nAgt.indexOf("Version"))!=-1)
jQuery.browser.fullVersion = nAgt.substring(verOffset 8);
}
// MSIE , 실제 버전은 userAgent의 "MSIE" 뒤에 있습니다.
else if ((verOffset=nAgt.indexOf("MSIE"))!=-1) {
jQuery.browser.msie =
jQuery; .browser .name = "Microsoft Internet Explorer";
jQuery.browser.fullVersion = nAgt.substring(verOffset 5);
}
// Chrome에서 실제 버전은 "Chrome" 이후입니다.
else if ((verOffset=nAgt.indexOf("Chrome"))!=-1) {
jQuery.browser.webkit =
jQuery.browser.name = "Chrome"; .browser .fullVersion = nAgt.substring(verOffset 7);
}
// Safari에서 실제 버전은 "Safari" 이후 또는 "Version" 이후입니다.
else if ((verOffset=nAgt.indexOf (" Safari"))!=-1) {
jQuery.browser.webkit = true;
jQuery.browser.name = "Safari"
jQuery.browser.fullVersion = nAgt.substring(verOffset 7)
if ((verOffset=nAgt.indexOf("Version"))!=-1)
jQuery.browser.fullVersion = nAgt.substring(verOffset 8)
}
/ / Firefox에서 실제 버전은 "Firefox" 이후입니다.
else if ((verOffset=nAgt.indexOf("Firefox"))!=-1) {
jQuery.browser.mozilla = true
jQuery.browser.name = "Firefox";
jQuery.browser.fullVersion = nAgt.substring(verOffset 8)
}
// 대부분의 다른 브라우저에서는 "이름/버전"이 끝에 있습니다. of userAgent
else if ( (nameOffset=nAgt.lastIndexOf(' ') 1) <
(verOffset=nAgt.lastIndexOf('/')) )
{
jQuery.browser.name = nAgt .substring(nameOffset,verOffset);
jQuery.browser.fullVersion = nAgt.substring(verOffset 1)
if (jQuery.browser.name.toLowerCase()==jQuery.browser.name.toUpperCase () ) {
jQuery.browser.name = navigator.appName;
}
}
// 있는 경우 세미콜론/공백에서 fullVersion 문자열을 자릅니다.
if ((ix=jQuery. browser.fullVersion.indexOf(";"))!=-1)
jQuery.browser.fullVersion=jQuery.browser.fullVersion.substring(0,ix);
if ((ix=jQuery.browser. fullVersion.indexOf(" "))!=-1)
jQuery.browser.fullVersion=jQuery.browser.fullVersion.substring(0,ix)
jQuery.browser.majorVersion = parsInt(' ' jQuery .browser.fullVersion,10);
if (isNaN(jQuery.browser.majorVersion)) {
jQuery.browser.fullVersion = ''parseFloat(navigator.appVersion)
jQuery.browser. majorVersion =parseInt(navigator.appVersion,10);
}
jQuery.browser.version = jQuery.browser.majorVersion;
})(jQuery); 지원되지 않는 브라우저 개체 문제를 해결하도록 특별히 설계되었습니다.