Quelltext der Datei: http://www.michaelster.ch/jsTestFolder/NavigatorCheckJS.htm

Dateigrösse: 5.32 kb

[Anzeige ohne Zeilennummern]


  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