Dateigrösse: 5.32 kb
1 <!DOCTYPE html> 2 <html lang="de"> 3 <head> 4 <meta charset="utf-8"> 5 6 <title>UserAgent for PC+Phone</title> 7 8 <style> 9 body { font: 14pt georgia,palatino,arial,sans-serif; padding: 2pt; margin:25pt; background-color: #fff; } 10 span.os { font: bold 10pt georgia,verdana,sans-serif; padding:5pt 10pt 3pt 10pt; background:#fff url(css/bullet1.gif) no-repeat left top; border:1pt solid #656565; letter-spacing: 2px; } 11 span.ua { font: 10pt palatino,arial,sans-serif; background: transparent; letter-spacing: 0.05em; } 12 .last { border: 0pt dotted gray; } 13 </style> 14 15 <script> 16 function avigator() { 17 var a=navigator.userAgent, 18 b=/msie 6/i.test(a), c=/msie 7/i.test(a), d=/msie 8/i.test(a), e=/msie 9/i.test(a), f=/msie 10/i.test(a), g=/trident.*rv[ :]*11\./i.test(a), j=/edge/i.test(a), 19 h=/safari/i.test(a), k=/firefox/i.test(a), l=/chrome/i.test(a), m=/opr/i.test(a), n=/opera/i.test(a), p=/konqueror/i.test(a), q=/maxthon/i.test(a), r=/rockMelt/i.test(a), 20 t=/flock/i.test(a), u=/iphone/i.test(a), v=/ipad/i.test(a), w=/ipod/i.test(a), x=/mac/i.test(a), y=/win/i.test(a), z=/nt 5.1/i.test(a), A=/nt 6.0/i.test(a), B=/nt 6.1/i.test(a), 21 C=/nt 6.2/i.test(a), Q=/nt 6.3/i.test(a)||/nt 6.4/i.test(a), D=/linux/i.test(a), E=/android/i.test(a), F=/blackberry/i.test(a)||/BB10/i.test(a)||/PlayBook/i.test(a), 22 G=/symbianos/i.test(a), H=/fennec/i.test(a), I=/iemobile/i.test(a), J=a.match(/windows phone/i), K=/opera mini/i.test(a), L=/opera mobi/i.test(a), M=/bolt/i.test(a), 23 N="", O="", P=""; 24 b&&(N="ie ie6"), c&&(N="ie ie7"), d&&(N="ie ie8"), e&&(N="ie ie9"), f&&(N="ie ie10"), g&&(N="ie ie11"), j&&(N="ie ie12"), h&&(N="safari "), k&&(N="firefox "), l&&(N="chrome "), 25 m&&(N="opera "), n&&(N="opera "), p&&(N="konqueror "), q&&(N="maxthon "), r&&(N="rockmelt "), t&&(N="flock "), H&&(N="firefoxmobile "), I&&(N="iemobile "), K&&(N="operamini "), 26 L&&(N="operamobile "), M&&(N="bolt "), y&&(O="win "), x&&(O="mac "), D&&(O="linux "), z&&(O="win winxp"), A&&(O="win vista"), B&&(O="win win7"), C&&(O="win win8"), Q&&(O="win win10"), J&&(O="wphone "), u&&(P="iphone ",O="ios ",N=""),v&&(P="ipad ",O="ios ",N=""),w&&(P="ipod ",O="ios ",N=""), E&&(/safari/i.test(N)&&(N="safari "),O="linux ",P="android "), 27 F&&(N="",P="blackberry "), G&&(/safari/i.test(N)&&(N=""),O="symbian "); 28 var res=[N,O,P,a]; 29 return res; 30 } 31 32 // N=>Browser 33 // O=>OS 34 // P=>Mobile Device (iphone,ipad,ipod,blackberry,android) 35 // a=>NavigatorUserAgent 36 37 String.prototype.superTrim = function() { 38 return(this.replace(/\s+/g," ").replace(/\s+$/,"").replace(/^\s+/,"")); 39 } 40 function windows(O) { 41 o=/win/i.test(O); 42 if(o) { 43 o=O.split(' '); 44 o=o[0]; 45 o=o.superTrim(); 46 o=o+' '; 47 return o; 48 } 49 return O; 50 } 51 /** **/ 52 function divide(N,str) { 53 console.log(N); 54 if(N.toLowerCase().indexOf(str) != -1) 55 { 56 n=N.split(' '); 57 n=n[0]; 58 n=n.superTrim(); 59 //n=n.toUpperCase(); 60 //n=n+' '; 61 console.info('Browser = ' + n); 62 return n; 63 } 64 N=N.superTrim(); 65 return N; 66 } 67 /** **/ 68 function loadCSS(O,N,P) { 69 //O=O.superTrim(); 70 O=windows(O); 71 N=divide(N,'ie'); 72 //alert("css/"+O+N+".css"); 73 var o=document.createElement("link"); 74 var d=document.getElementsByTagName("script")[0]; 75 o.rel="stylesheet"; 76 o.href="css/"+O+N+".css"; 77 o.media="all"; 78 o.type="text/css"; 79 console.log(o); 80 return d.parentNode.insertBefore(o,d); 81 } 82 83 function loadDIV(){ 84 var b = document.body || document.getElementsByTagName('body')[0], 85 d = document.createElement('div'); 86 d.innerHTML = 'it just hits me ... <span style="font-size:200%;">ⵔⵣⵓ උපසිරසි</span> ... <span title="" style="font-size:500%;"> ✌ ⌛ </span> ... <span style="font-size:200%;"> සිරසිපඋ ⵓⵣⵔ</span>'; 87 return b.insertBefore(d,b.childNodes[0]); 88 } 89 function $(div) { 90 var r = document.getElementById(div); 91 var s = r.style.visibility; 92 var v = s=='hidden' ? 'visible' : 'hidden'; 93 return r.style.visibility=v; 94 } 95 function loadOS() { 96 var c = document.getElementsByTagName('h2')[0], 97 f = document.createElement('div'); 98 f.setAttribute( "class" , "last" ); 99 f.innerHTML = '<span class="os" onclick="$(\'ua\')">'+windows(ua[1])+divide(ua[0],"e")+' '+(ua[2]?"mobile":"desktop")+'</span><br><br><hr /><br>'; 100 f.innerHTML += '<span class="ua" id="ua" style="visibility:hidden">'+ua[3]+'</span>'; 101 console.log(c.childNodes[0].nodeValue); 102 //return c.insertBefore(f,c.childNodes[1]); // Elem "div class=last" wird innerhalb von h2 eingehängt 103 return c.parentNode.insertBefore(f,c.nextSibling); // Elem "div class=last" wird nach h2 eingehängt 104 } 105 106 ua=avigator(); 107 108 function _fn_loader() { 109 loadCSS(ua[1],ua[0],ua[2]); 110 loadDIV(); 111 loadOS(); 112 } 113 114 window.onload=_fn_loader 115 116 </script> 117 118 </head> 119 120 121 <body> 122 123 <p></p> 124 125 <h1> Headline ♡ h1 </h1> 126 127 <h2> Headline ☼ h2 </h2> 128 <script> 129 130 /*** http://xahlee.info/js/js_textContent_innerHTML_innerText_nodeValue.html ***/ 131 /* the most compatible way to change a element's text content */ 132 var myElem = document.getElementsByTagName("h2")[0]; 133 var newTxt = " ☼ lovecats"; 134 135 (function(elem, text){ 136 if ( elem.firstChild ) { 137 elem.firstChild.nodeValue += text; 138 } else { 139 elem.appendChild(document.createTextNode(text)); 140 } 141 })( myElem, newTxt ); 142 143 </script> 144 </body> 145 </html> 146