У меня были бесконечные проблемы со встраиванием динамически загружаемого SWF в HTML-форму в IE 6,7,8 с использованием swfobject.embedSwf.
Все предлагаемые вручную обходные пути проблемы включают создание ссылки на элемент Object DOM из объекта окна. Например:
window[id] = document.getElementById(id);
Где id - это идентификатор dom-элемента SWF-объекта. В моем случае я не могу установить window[id]
на идентификатор объекта swf, потому что он еще не был создан!
Строка в swfobject, вызывающая ошибки javascript:
el.outerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + att + '>' + par + '</object>';
Когда SWF-фильм устанавливает внешний интерфейс Javascript, он пытается получить доступ к окну [id]. Поскольку этого не существует, он не работает.
Если я применяю упомянутый выше обходной путь и заполняю window[id]
элементом DOM, который заменяется на embedSwf, он все равно терпит неудачу, поскольку пытается вызвать специальные методы Flash для элемента DOM div, а не для элемента DOM объекта.
Я нахожу удивительным, что эта проблема не была исправлена со времен Flash 8 и IE6!