This is an old revision of the document!
Javascript Code Snippets
Shims for IE8/IE9 support
Setup stub functions for those not supported by IE8/IE9.
// Date.now() if (!Date.now) { Date.now = function() { return new Date().getTime(); } }; // console.log() if (!window.console) window.console = {}; if (!window.console.log) window.console.log = function () { }; console.log( "Setting up console log..." ); // string.trim() if(typeof String.prototype.trim !== 'function') { String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); } } // string.ltrim() if(typeof String.prototype.ltrim !== 'function') { String.prototype.ltrim = function() { return this.replace(/^\s+/,""); } } // string.rtrim() if(typeof String.prototype.rtrim !== 'function') { String.prototype.rtrim = function() { return this.replace(/\s+$/,""); } }
Query Touch Device
- file sample.php
<html> ... <body> .... <div id="touch-only">Some Touch Control...</div> ... <!-- Bootstrap core JavaScript ================================================== --> <!-- Placed at the end of the document so the pages load faster --> <script src="./lib/jquery.min.js"></script> <script src="./lib/bootstrap.min.js"></script> <!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> <script src="./lib/ie10-viewport-bug-workaround.js"></script> <!-- Utils routines --> <script src="./utils.js"></script> <script type="text/javascript"> // Get server time $( document ).ready(function() { if (!isTouchDevice()) { $("#touch-only").addClass('hidden'); if (window.console) { console.log('Not a touch device. Hiding touch controls.'); } } else { $("#touch-only").removeClass('hidden'); } }); </script> </body> </html>
- file utils.js
//------------------------------------------------------------------------ // Test whether client device supports touch. // // Hide the element with ID as ‘touch-only’ if the web page is viewed // on a device that doesn’t have a touch screen. This should work on // all desktop and mobile devices including iOS, Android, Opera, // Chrome, IE, Safari and Windows Phone. // // if (!is_touch_device()) { // document.getElementById('touch-only').style.display='none'; // } // // Credits: http://ctrlq.org/code/19616-detect-touch-screen-javascript //----------------------------------------------------------------------- function isTouchDevice() { return (('ontouchstart' in window) || (navigator.MaxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0) ); }
Audio Support
Preload audio clips and play them. Add the following to a webpage:
<html> <head> ... <!-- Audio clips to preload --> <audio id="idAudio1" src="audio/audio1.wav" preload="auto" autobuffer=""></audio> <audio id="idAudio2" src="audio/audio2.wav" preload="auto" autobuffer=""></audio> <audio id="idAudio3" src="audio/audio3.wav" preload="auto" autobuffer=""></audio> <audio id="idAudio4" src="audio/audio4.wav" preload="auto" autobuffer=""></audio> <script> // Play specified sound clip function evalSound(sender, soundobj) { var thissound = document.getElementById(soundobj); thissound.play(); } </script> </head> <body> ... <h3>Bootstraps buttons to play audio clips</h3> <button type="button" class="btn btn-default" onclick="evalSound(this,'idAudio1')"> <i class="fa fa-play-circle"></i> Play Audio 1</button> <button type="button" class="btn btn-default" onclick="evalSound(this,'idAudio2')"> <i class="fa fa-play-circle"></i> Play Audio 2</button> </body> </html>
Play audio clip using browser's built-in player:
<div class="col-lg-6"> <h4>Audio</h4> <p>An audio clip</p> <audio controls preload="auto"> <source src="audio/audio1.wav" type="audio/wav"> <source src="audio/audio1.mp3" type="audio/mp3"> <!-- text or flash fall back --> Your browser does not support the audio element. </audio> </div>
Source: