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

Dateigrösse: 8.7 kb

[Anzeige ohne Zeilennummern]


  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