##hypeDocument.getPrivateContainer
This function creates a kind of “shadow DOM” to hold the audio elements. It’s required by loadSound but also works on it’s own to assist in any other extension.
/**
* hypeDocument.getPrivateContainer 1.0
* @param {String} name for container
* @return {HTMLDivElement}
*/
hypeDocument.getPrivateContainer = function(name){
var hypeId = hypeDocument.documentId();
var hypeElm = document.querySelector('#'+hypeId);
var pcId = hypeId+'_'+name;
var pcElm = hypeElm.querySelector('#'+pcId);
if (pcElm === null){
pcElm = document.createElement('div');
pcElm.setAttribute('id', pcId);
pcElm.style.visibility='none';
hypeElm.appendChild(pcElm);
}
return pcElm;
}
Usage:
Given you need a “shadow DOM” of sorts. This will create a HTMLDivElement inside your HypeDocument and hide it. The return value is a regular HTMLDivElement and can be manipulated as regular. Used for loadSound but should come in handy for other extensions as well. The name parameter is a must to keep each generated container ID unique.
var shadowDom = getPrivateContainer('uniqueName');