Я динамически создаю элемент управления звуком и пытаюсь показать его в форме с элементами управления. У меня есть div в форме (я пробовал с div, td, span), и я уверен, что у меня правильный идентификатор. Я использую appendChild (аудио). Если я поставлю alert() непосредственно перед завершением функции, элемент управления звуком начнет воспроизведение файла. Как только функция выходит, аудиоплеер останавливается, и я никогда не вижу отображаемого элемента управления. Что мне не хватает? Кажется очевидным, что переменная audio теряет область действия и больше не действует. Но почему я не могу добавить его в свой div, td или span? (у меня файрфокс, так что играет ogg)
Изменить - я полагаю, я должен упомянуть, что это вызывается из
HTML:
<a onclick="CreateAudio($oggfile, $id)">Play</a>
JavaScript:
function CreateAudio(oggfile, id)
{
var audio = document.createElement('audio');
var source= document.createElement('source');
source.type= 'audio/ogg';
source.src= oggfile;
audio.appendChild(source);
mp3file = oggfile; // I will fix this to replace ogg extension with mp3
source= document.createElement('source');
source.type= 'audio/mpeg';
source.src= mp3file;
audio.appendChild(source);
var div = document.getElementById(id);
div.appendChild(audio);
audio.load;
audio.play();
}