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

Dateigrösse: 5.32 kb

[Anzeige ohne Zeilennummern]


1 
<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8">
    
        <title>UserAgent for PC+Phone</title>

    <style>
        body     { font: 14pt georgia,palatino,arial,sans-serif; padding: 2pt; margin:25pt; background-color: #fff; }
        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; }
        span.ua { font: 10pt palatino,arial,sans-serif; background: transparent; letter-spacing: 0.05em; }
        .last    { border: 0pt dotted gray; }
    </style>

<script>
function avigator() {
    var a=navigator.userAgent, 
    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), 
    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),
    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),
    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),
    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), 
    N="", O="", P="";
    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 "),
    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 "), 
    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 "),
    F&&(N="",P="blackberry "), G&&(/safari/i.test(N)&&(N=""),O="symbian ");
    var res=[N,O,P,a];
    return res;
}

// N=>Browser
// O=>OS
// P=>Mobile Device (iphone,ipad,ipod,blackberry,android)
// a=>NavigatorUserAgent 

String.prototype.superTrim = function() {
    return(this.replace(/\s+/g," ").replace(/\s+$/,"").replace(/^\s+/,""));
}
function windows(O) {
    o=/win/i.test(O);
    if(o) {
        o=O.split(' ');
        o=o[0];
        o=o.superTrim();
        o=o+' ';
        return o;
    }
    return O;
}
/**  **/
function divide(N,str) {
    console.log(N);
    if(N.toLowerCase().indexOf(str) != -1) 
    {
        n=N.split(' ');
        n=n[0];
        n=n.superTrim();
        //n=n.toUpperCase();
        //n=n+' ';
        console.info('Browser = ' + n);
        return n;
    }
    N=N.superTrim();
    return N;
}
/**  **/
function loadCSS(O,N,P) {
    //O=O.superTrim();
    O=windows(O);
    N=divide(N,'ie');
    //alert("css/"+O+N+".css");
    var o=document.createElement("link");
    var d=document.getElementsByTagName("script")[0];
    o.rel="stylesheet";
    o.href="css/"+O+N+".css";
    o.media="all";
    o.type="text/css";
    console.log(o);
    return d.parentNode.insertBefore(o,d);
}

function loadDIV(){
    var b = document.body || document.getElementsByTagName('body')[0],
        d = document.createElement('div');
        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>';
    return b.insertBefore(d,b.childNodes[0]);
}
function $(div) {
    var r = document.getElementById(div);
    var s = r.style.visibility;
    var v = s=='hidden' ? 'visible' : 'hidden';
    return r.style.visibility=v;
}
function loadOS() {
    var c = document.getElementsByTagName('h2')[0],
        f = document.createElement('div');
        f.setAttribute( "class" , "last" );
        f.innerHTML  = '<span class="os" onclick="$(\'ua\')">'+windows(ua[1])+divide(ua[0],"e")+' '+(ua[2]?"mobile":"desktop")+'</span><br><br><hr /><br>';
        f.innerHTML += '<span class="ua" id="ua" style="visibility:hidden">'+ua[3]+'</span>';
    console.log(c.childNodes[0].nodeValue);
    //return c.insertBefore(f,c.childNodes[1]); // Elem "div class=last" wird innerhalb von h2 eingehängt
    return c.parentNode.insertBefore(f,c.nextSibling); // Elem "div class=last" wird nach h2 eingehängt
}

ua=avigator();

function _fn_loader() {
    loadCSS(ua[1],ua[0],ua[2]);
    loadDIV();
    loadOS();
}

window.onload=_fn_loader

</script>

</head>


<body>

<p></p>    

<h1> Headline ♡ h1 </h1>

<h2> Headline ☼ h2 </h2>
<script>

/*** http://xahlee.info/js/js_textContent_innerHTML_innerText_nodeValue.html ***/
/* the most compatible way to change a element's text content */
var myElem = document.getElementsByTagName("h2")[0];
var newTxt = " ☼ lovecats";

(function(elem, text){
    if ( elem.firstChild ) {
        elem.firstChild.nodeValue += text;
    } else {
        elem.appendChild(document.createTextNode(text));
    }
})( myElem, newTxt );

</script>
</body>
</html>