Skip to content

Instantly share code, notes, and snippets.

@purazumakoi
Last active August 29, 2015 14:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save purazumakoi/68a9faee9e27acbbdddd to your computer and use it in GitHub Desktop.
Save purazumakoi/68a9faee9e27acbbdddd to your computer and use it in GitHub Desktop.
ユーザエージェントによりbodyのclassに自動で判定結果文言を入れる。https://github.com/masakihongo/searchUA の微修正版
/**
* Copyright (C) https://github.com/masakihongo/searchUA
*/
(function (window, $, undefined) {
'use strict';
window.ua = {};
var ua = window.ua;
ua.name = window.navigator.userAgent.toLowerCase();
ua.isIE = (ua.name.indexOf('msie') >= 0 || ua.name.indexOf('trident') >= 0);
ua.isiPhone = ua.name.indexOf('iphone') >= 0;
ua.isiPod = ua.name.indexOf('ipod') >= 0;
ua.isiPad = ua.name.indexOf('ipad') >= 0;
ua.isiOS = (ua.isiPhone || ua.isiPod || ua.isiPad);
ua.isAndroid = ua.name.indexOf('android') >= 0;
ua.isAndroidMobile = ua.isAndroid && ua.name.indexOf('mobile') >= 0;
ua.isTablet = (ua.isiPad || (ua.isAndroid && ua.name.indexOf('mobile') < 0));
if (ua.isIE) {
ua.verArray = /(msie|rv:?)\s?([0-9]{1,})([\.0-9]{1,})/.exec(ua.name);
if (ua.verArray) {
ua.ver = parseInt(ua.verArray[2], 10);
}
}
if (ua.isiOS) {
ua.verArray = /(os)\s([0-9]{1,})([\_0-9]{1,})/.exec(ua.name);
if (ua.verArray) {
ua.ver = parseInt(ua.verArray[2], 10);
}
}
if (ua.isAndroid) {
ua.verArray = /(android)\s([0-9]{1,})([\.0-9]{1,})/.exec(ua.name);
if (ua.verArray) {
ua.ver = parseInt(ua.verArray[2], 10);
}
}
if (ua.isIE) {
$('body').addClass('ie ie_' + ua.ver);
}
if (ua.isiPhone) {
$('body').addClass('iPhone');
$('body').addClass('SP');
}
if (ua.isiPod) {
$('body').addClass('iPod');
$('body').addClass('SP');
}
if (ua.isiPad) {
$('body').addClass('iPad');
}
if (ua.isiOS) {
$('body').addClass('iOS iOS_' + ua.ver);
}
if (ua.isAndroid) {
$('body').addClass('android android_' + ua.ver);
}
if (ua.isAndroidMobile) {
$('body').addClass('SP');
}
if (ua.isTablet) {
$('body').addClass('tablet');
}
}(this, jQuery));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment