Dateigrösse: 8.7 kb
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 6 <title>jQuery inspired isMobileCheck</title> 7 8 <style> 9 @import url('https://fonts.googleapis.com/css?family=Meddon'); 10 </style> 11 12 <style> 13 html { padding: 2pt 40pt 2pt 20pt;} 14 body { font: bold 14pt verdana,arial,sans-serif; padding: 2pt; margin: 20pt; color: #000; background: #fff; } 15 h2 { font-family: "Meddon",cursive; font-size: 45px; font-weight: normal; font-style: normal; text-align: left; text-transform: none; color: #112611; } 16 h3 { font-family: "Meddon",cursive; font-size: 30px; font-weight: bold; font-style: normal; text-align: left; text-transform: none; color: #ff5f55; } 17 .bwtype { font-size: 24pt; margin-bottom: 20pt; padding: 10pt 20pt; border: 2pt solid black; color: #fff; background: #b00; } 18 .ausgabe { font: bold 12pt monospace; margin-top: 10pt; padding: 5pt; border: 0pt solid #656565; } 19 </style> 20 21 22 <script src="https://code.jquery.com/jquery-1.12.4.js"></script> 23 <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> 24 <script src="http://www.michaelster.ch/lueckentexte/inc/jquery.cookie.js"></script> 25 26 <script> 27 28 function uaMatch( ua ) { 29 // If an ua is not provided, default to the current browser ua 30 if ( ua === undefined ) { 31 ua = window.navigator.userAgent; 32 } 33 ua = ua.toLowerCase(); 34 35 var match = /(edge)\/([\w.]+)/.exec( ua ) || 36 /(opr)[\/]([\w.]+)/.exec( ua ) || 37 /(chrome)[ \/]([\w.]+)/.exec( ua ) || 38 /(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec( ua ) || 39 /(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec( ua ) || 40 /(webkit)[ \/]([\w.]+)/.exec( ua ) || 41 /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) || 42 /(msie) ([\w.]+)/.exec( ua ) || 43 ua.indexOf("trident") >= 0 && /(rv)(?::| )([\w.]+)/.exec( ua ) || 44 ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) || 45 []; 46 47 var platform_match = 48 /(ipad)/.exec( ua ) || 49 /(ipod)/.exec( ua ) || 50 /(iphone)/.exec( ua ) || 51 /(kindle)/.exec( ua ) || 52 /(silk)/.exec( ua ) || 53 /(android)/.exec( ua ) || 54 /(windows phone)/.exec( ua ) || 55 /(win)/.exec( ua ) || 56 /(mac)/.exec( ua ) || 57 /(linux)/.exec( ua ) || 58 /(cros)/.exec( ua ) || 59 /(playbook)/.exec( ua ) || 60 /(bb)/.exec( ua ) || 61 /(blackberry)/.exec( ua ) || 62 []; 63 64 var browser = {}, 65 matched = { 66 browser: match[ 5 ] || match[ 3 ] || match[ 1 ] || "", 67 version: match[ 2 ] || match[ 4 ] || "0", 68 versionNumber: match[ 4 ] || match[ 2 ] || "0", 69 platform: platform_match[ 0 ] || "" 70 }; 71 72 if ( matched.browser ) { 73 browser[ matched.browser ] = true; 74 browser.version = matched.version; 75 browser.versionNumber = parseInt(matched.versionNumber, 10); 76 } 77 78 if ( matched.platform ) { 79 browser[ matched.platform ] = true; 80 } 81 82 // These are all considered mobile platforms, meaning they run a mobile browser 83 if ( browser.android || browser.bb || browser.blackberry || browser.ipad || browser.iphone || 84 browser.ipod || browser.kindle || browser.playbook || browser.silk || browser["windows phone"]) { 85 browser.mobile = true; 86 } 87 88 // These are all considered desktop platforms, meaning they run a desktop browser 89 if ( browser.cros || browser.mac || browser.linux || browser.win ) { 90 browser.desktop = true; 91 } 92 93 // Chrome, Opera 15+ and Safari are webkit based browsers 94 if ( browser.chrome || browser.opr || browser.safari ) { 95 browser.webkit = true; 96 } 97 98 // IE11 has a new token so we will assign it msie to avoid breaking changes 99 // IE12 disguises itself as Chrome, but adds a new Edge token. 100 if ( browser.rv || browser.edge ) { 101 var ie = "msie"; 102 matched.browser = ie; 103 browser[ie] = true; 104 } 105 106 // Playbook browsers are marked as Safari on Playbook 107 if ( browser.safari && browser.playbook ) { 108 var playbook = "playbook"; 109 matched.browser = playbook; 110 browser[playbook] = true; 111 } 112 113 // Blackberry browsers are marked as Safari on BlackBerry 114 if ( browser.safari && browser.blackberry ) { 115 var blackberry = "blackberry"; 116 matched.browser = blackberry; 117 browser[blackberry] = true; 118 } 119 120 // BB10 is a newer OS version of BlackBerry 121 if ( browser.bb ) { 122 var bb = "blackberry"; 123 matched.browser = bb; 124 browser[bb] = true; 125 } 126 127 // Opera 15+ are identified as opr 128 if ( browser.opr ) { 129 var opera = "opera"; 130 matched.browser = opera; 131 browser[opera] = true; 132 } 133 134 // Stock Android browsers are marked as Safari on Android. 135 if ( browser.safari && browser.android ) { 136 var android = "android"; 137 matched.browser = android; 138 browser[android] = true; 139 } 140 141 // Kindle browsers are marked as Safari on Kindle 142 if ( browser.safari && browser.kindle ) { 143 var kindle = "kindle"; 144 matched.browser = kindle; 145 browser[kindle] = true; 146 } 147 148 // Kindle Silk browsers are marked as Safari on Kindle 149 if ( browser.safari && browser.silk ) { 150 var silk = "silk"; 151 matched.browser = silk; 152 browser[silk] = true; 153 } 154 155 // Assign the name and platform variable 156 browser.name = matched.browser; 157 browser.platform = matched.platform; 158 return browser; 159 } 160 161 162 // Run the matching process, also assign the function to the 163 // returned object for manual, jQuery-free use if desired 164 jQBrowser = uaMatch( window.navigator.userAgent ); 165 jQBrowser.uaMatch = uaMatch; 166 167 if( jQBrowser.mobile ) { 168 document.write('<h1>I\'m a <u>Mobile</u></h1>'); 169 } else if ( jQBrowser.desktop ) { 170 document.write('<h1>I\'m a <u>Deskto</u>p</h1>'); 171 } else { 172 document.write('<h1>... don\'t know what I am ... </h1>'); 173 } 174 175 function retour() 176 { 177 if(jQBrowser.chrome) 178 { 179 // var v=jQBrowser.version; v=v.split('.'); v=v[0]; = jQBrowser.versionNumber, i.e. (actually) v.58 180 document.getElementById('bwtype').innerHTML = 'Chrome v.'+jQBrowser.versionNumber; 181 } 182 else if(jQBrowser.mozilla) { 183 document.getElementById('bwtype').innerHTML = 'Firefox v.'+jQBrowser.versionNumber; 184 } 185 else if(jQBrowser.msie) { 186 document.getElementById('bwtype').innerHTML = 'Internet Explorer v.'+jQBrowser.versionNumber; 187 } 188 else if(jQBrowser.opera) { 189 document.getElementById('bwtype').innerHTML = 'Opera v.'+jQBrowser.versionNumber; 190 } 191 else { 192 document.getElementById('bwtype').innerHTML = 'undefined browser: ' + jQBrowser.name + ' v.'+jQBrowser.version; 193 } 194 } 195 196 197 198 /*** cookie setzen ***/ 199 var device = jQBrowser.desktop ? 'desktop' : 'mobile'; 200 var cvalue = jQBrowser.name+' v.'+jQBrowser.versionNumber+' - '+jQBrowser.platform+' - '+device; 201 $.cookie('userInfo', cvalue); 202 203 console.log( $.cookie('userInfo') ); 204 205 </script> 206 207 </head> 208 209 210 211 <body onload="retour()"> 212 213 <h2>jQBrowser Result:</h2> 214 215 <div id="bwtype" class="bwtype"></div> 216 217 <h3>str.replace() Result:</h3> 218 219 <button type="button" id="button">los</button> 220 <pre id="ausgabe" class="ausgabe"></pre> 221 222 223 224 <script> 225 t1 = 'Die \"Anführungszeichen\" ersetzen. Die "Anführungszeichen" müssen weg!. Diese „Traumnovelle“ auch?'; 226 t1 = t1.replace(/\s"/g, " «"); 227 t1 = t1.replace(/"\s/g, "» "); 228 console.log(t1); 229 230 // for one single word in one-step-callback: 231 function laquo(str) { 232 str = str.replace(str, '«$&»'); 233 return str; 234 } 235 236 var b = 1; 237 var elem = document.getElementById('button'); 238 elem.addEventListener('click', trigger); 239 240 function trigger() { 241 if( b%2 ) { 242 var satz = '"Als Gregor Samsa eines Morgens aus unruhigen <u>Träumen</u> erwachte, fand er sich in seinem Bett zu einem ungeheuren Ungeziefer verwandelt."<br/><br/>' ; 243 satzz = satz.replace(/\,/g, ''); 244 satzz = satzz.replace(/\./g, ''); 245 var words = satzz.split(' '); 246 var text = 'Ein Satz mit ' + words.length + ' Wörtern. Das 8. Wort ist ' + laquo(words[7]) +'.<br/><br/>'; 247 ++b; 248 //console.log(b); 249 var ausgabe = document.getElementById('ausgabe'); 250 ausgabe.innerHTML = satz; 251 ausgabe.innerHTML += text; 252 var button = document.getElementById('button'); 253 button.innerHTML = 'weg'; 254 } else { 255 ++b; 256 //console.log(b); 257 var ausgabe = document.getElementById('ausgabe'); 258 ausgabe.innerHTML = ''; 259 var button = document.getElementById('button'); 260 button.innerHTML = 'los'; 261 } 262 } 263 </script> 264 265 </body> 266 </html> 267