Skip to content

Instantly share code, notes, and snippets.

@yuka2py
Last active December 29, 2015 18:59
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yuka2py/7714282 to your computer and use it in GitHub Desktop.
Save yuka2py/7714282 to your computer and use it in GitHub Desktop.
デバイスやブラウザを判定する Modernizr 用の追加テストです。 えっと…。いや、実務では要りますよ。やっぱり。今回まとめました。
(function() {
if (!window.Modernizr) {
return;
}
var ua = new String(window.navigator.userAgent.toLowerCase());
ua.has = function (cond) {
return this.indexOf(cond) != -1;
};
var msie = ua.has('msie');
var chrome = ua.has('chrome');
var safari = ua.has('safari') && chrome;
var firefox = ua.has('firefox');
var opera = ua.has('opera') || ua.has('opr/'); //opera 15+
Modernizr.addTest({
'msie' : function () { return msie; },
'chrome' : function () { return chrome; },
'safari' : function () { return safari; },
'firefox' : function () { return firefox; },
'opera' : function () { return opera; }
});
var iphone = ua.has('iphone');
var ipod = ua.has('ipod');
var ipad = ua.has('ipad');
var macosx = ua.has('mac os x');
var android = ua.has('android');
var androidPhone = android && ua.has('mobile');
var androidTablet = android && ! ua.has('mobile');
var windows = ua.has('windows');
var windowsPhone = windows && ua.has('phone');
var windowsTablet = windows && ua.has('touch');
Modernizr.addTest({
'ios' : function () { return iphone || ipod || ipad; },
'iphone' : function () { return iphone; },
'ipod' : function () { return ipod; },
'ipad' : function () { return ipad; },
'macosx' : function () { return macosx; },
'android' : function () { return android; },
'androidPhone' : function () { return androidPhone; },
'androidTablet' : function () { return androidTablet; },
'windows' : function () { return windows; },
'windowsPhone' : function () { return windowsPhone; },
'windowsTablet' : function () { return windowsTablet; },
});
}());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment