AudioContext

AudioContext
AudioContext
PropertyValuehasOwnProperty
(function() {

    var onDOMContentLoaded = function() {

        window.AudioContext = window.AudioContext || window.webkitAudioContext;

        try {
            // Create the instance of AudioContext
            var context = new AudioContext();
        } catch (error) {
            window.alert(error.message + ' : Please use Chrome or Safari.');
            return;
        }

        /*
         * Display properties
         */

        var flagment = document.createDocumentFragment();

        for (var key in context) {
            var elem = document.createElement('tr');

            flagment.appendChild(elem);
            elem.innerHTML = '<td>' + key + '</td><td>' + context[key] + '</td><td>' + context.hasOwnProperty(key) + '</td>';
        }

        document.getElementById('audiocontext-properties').querySelector('tbody').innerHTML = '';
        document.getElementById('audiocontext-properties').querySelector('tbody').appendChild(flagment);
        document.getElementById('audiocontext-properties').parentNode.previousElementSibling.style.display = 'block';
    };

    if ((document.readyState === 'interactive') || (document.readyState === 'complete')) {
        onDOMContentLoaded();
    } else {
        document.addEventListener('DOMContentLoaded', onDOMContentLoaded, true);
    }

})();