Загрузить flash из JavaScript с тегом объекта

Я пытался загрузить Flash (SWF-файл) из внешних источников или локальных источников,

Я использую тег объекта в html, чтобы по какой-то причине содержать флэш-память. Если я загружу флэш-память непосредственно в тег объекта, она будет работать без сбоев, например:

<object height="100" width="100" data="helloworld.swf" id="flash"></object>

Далее мне нужно динамически загрузить флеш из JavaScript, но возникает несколько проблем:

var flash=document.getElementById("flash");
flash.setAttribute("data","helloworld.swf");

приведенный выше код прекрасно работает в Chrome, но в IE он ничего не делает (мой IE - это IE11 в Windows 8)

Если я изменю тег объекта на тег iframe, то он будет работать, но мне нужно, чтобы он был тегом объекта,

Какие решения приходят на ум?

2 ответа

Вы можете принудительно обновить, читая объект:

var flash = document.getElementById("flash");
flash.setAttribute("data","helloworld.swf");

var clone = flash.cloneNode(true);
flash.parentNode.replaceChild(clone, flash);

Используйте SWFObject. Это избавит вас от всех проблем совместимости с различными браузерами.

Другие вопросы по тегам