반응형
(function ($) {
$.ua = $.ua || {
platform: {},
browser: {},
engine: {}
};
var ua = navigator.userAgent.toLowerCase(),
p = $.ua.platform,
b = $.ua.browser,
e = $.ua.engine,
u = 'unknown';
//alert(navigator.userAgent);
// detect platform
p.name = (/(win|mac|linux|iphone|ipod|android)/.exec(ua) || [, u])[1];
p[p.name] = true;
// detect browser
b.name = (/(msie|firefox|chrome|safari|opera)/.exec(ua) || [, u])[1]; // chrome must be tested before safari
b[b.name] = true;
b.version = (b.unknown)? 0: /(?:msie |firefox\/|chrome\/|version\/)(\d+(\.\d+)*)/.exec(ua)[1];
// detect engine
e.name = (/(trident|webkit|gecko|presto)/.exec(ua) || [, u])[1]; // webkit must be tested before gecko
e[e.name] = true;
e.version = (e.unknown)? 0: /(?:trident\/|rv:|webkit\/|presto\/)(\d+(\.\d+)*)/.exec(ua)[1];
// add classes to html element
$('html').addClass([
p.name,
b.name,
b.name + parseInt(b.version, 10),
e.name,
e.name + parseInt(e.version, 10)
].join(' '));
})(jQuery);
function CastUserAgent(AgentCase) {
var c = [], i, j;
var d = 0;
for (i in $.ua) {
if (i === 'data' || i === 'init') {
continue;
}
for (j in $.ua[i]) {
d = 0;
if (i === AgentCase) {
if (d != 0) {
c[c.length] = ',';
}
c[c.length] = '\'' + j + '\'' + ':\'' + $.ua[i][j] + '\'';
d++;
}
}
}
c.join();
return eval('({' + c.toString() + '})');
}
아래 CastUserAgent 함수를 추가하였다. 파라메터를 문자열 형태로 'platform, browser, engine'
로 넘겨주면 name, version 을 반환한다.
아래와 같이 호출하여 사용하면 된다.
var bw = CastUserAgent ('browser').name;
alert(bw);
반응형
'Development > Javascript | jQuery' 카테고리의 다른 글
| Plug In - TableDnD (테이블 드래그 앤 드롭) (0) | 2014.03.14 |
|---|---|
| PlugIn - jQuery UserAgent 플러그인 (0) | 2013.11.27 |
| window.resize 크로스 브라우징 (0) | 2013.11.15 |
| jQuery 아이프레임, iframe (0) | 2013.08.20 |
| jQueryPlugIn - jQueryScroll (0) | 2013.01.22 |
댓글