Pequeno snippet de javascript para adicionar classes CSS móveis

O pequeno trecho a seguir adiciona classes CSS ao elemento HTML raiz, dependendo do dispositivo móvel, para que você possa usar um estilo condicional. Atualmente, acrescenta um ou mais dos seguintes: ios, android, mobile, webview. O significado dos nomes deve ser autoexplicativo

(function(d, l) {
for (var k in l) {
if(navigator.userAgent.match(new RegExp(l[k], 'i'))){
d
[k] = true;
d
.documentElement.className+=' '+k;
}
}
}(document, {
ios
: '(iPhone|iPod|iPad)',
android
: 'android',
mobile
: 'mobile',
webview
: '(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)'
}));

Então, por exemplo:

/* ios only styling */
.ios body {
background
-color: #fff;
}

/* android only styling */
.android body {
background
-color: #e7e7e7;
}

também adiciona booleanos com os nomes correspondentes ao documentglobal para que você possa usar javascript condicional. Ex:

if (document.ios) {
// Do ios specific stuff
}
else if (document.android) {
// Do Android specific stuff
}