Mercurial > hg > webaudioevaluationtool
diff js/loader.js @ 2384:2ddc68898dff
Fix for #81. Browsers which cannot start a Web Audio context will fail with a message listing supported browsers
author | Nicholas Jillings <nicholas.jillings@mail.bcu.ac.uk> |
---|---|
date | Fri, 20 May 2016 14:04:36 +0100 |
parents | |
children | 464c6c6692d6 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/loader.js Fri May 20 14:04:36 2016 +0100 @@ -0,0 +1,29 @@ +// Script to load the relevant JS files if the system supports it + +window.onload = function() { + // First check if the Web Audio API is supported + if (window.AudioContext == undefined && window.webkitAudioContext == undefined) { + // Display unsuported error message + var body = document.getElementsByTagName("body")[0]; + body.innerHTML = "<h1>Sorry! Your browser is not supported :(</h1><p>Your browser does not support the HTML5 Web Audio API. Please use one of the following supported browsers instead.<p>"; + var table = document.createElement("table"); + table.border = "0"; + table.innerHTML = "<tr><td>Chrome</td><td>v10 or newer</td></tr>"; + table.innerHTML += "<tr><td>Firefox</td><td>v25 or newer</td></tr><tr><td>Safari (OSX)</td><td> v6 or newer, OSX only</td></tr>"; + table.innerHTML += "<tr><td>Safari (iOS)</td><td>iOS 6.1 or newer</td></tr>"; + table.innerHTML += "<tr><td>Edge</td><td>12 or newer</td></tr>"; + body.appendChild(table); + } else { + var head = document.getElementsByTagName("head")[0]; + var src_list = ['js/specification.js', 'js/core.js', 'js/loudness.js', 'js/xmllint.js', 'js/WAVE.js']; + for (var i=0; i<src_list.length; i++) { + var src = src_list[i]; + var script = document.createElement("script"); + script.type = "text/javascript"; + script.async = false; + script.defer = true; + script.src = src; + head.appendChild(script); + } + } +} \ No newline at end of file