Показать сообщение отдельно
  #1 (permalink)  
Старый 31.03.2012, 06:44
Новичок на форуме
Отправить личное сообщение для sociofilm Посмотреть профиль Найти все сообщения от sociofilm
 
Регистрация: 31.03.2012
Сообщений: 1

IE через innerHTML не видит методов флэшки (которые EnternalInterface)
Добрый день!

<div id="game">
сюда будем вставлять динамически вставим SWF через innerHTML
</div>

<script>
document.getElementById("game").innerHTML = '<embed width="760" height="660" align="middle" type="application/x-shockwave-flash" salign="" allowscriptaccess="sameDomain" allowfullscreen="false" menu="true" name="Taxoman" id="Taxoman" bgcolor="#000000" devicefont="false" wmode="transparent" scale="showall" loop="true" play="true" pluginspage="http://www.macromedia.com/go/getflashplayer" quality="high" src="Taxoman.swf">';


function test() {
    Taxoman.test();
}
</script>


test() регистрируется во флэше с помощью ExternalInterface.callback()
Сразу скажу, во всех браузерах (Opera, Chrome, FireFox, Safari) эта штука нормально работает, а в IE не хочет.
Ругается, что не определен метод test у Taxoman.swf (очевидно из-за динамического внедрения)
Если внедрять SWF статически (сразу прописать в секции div: <embed ....>), то метод виден и понятен IE.

Как быть, что делать?
Альтернативный вариант: можно ли как то задавать момент запуска (старта для выполнения) флэшки SWF самому? Мне в коде JS надо дождаться определенного момента, когда станет известна одна переменная (приходит с сервера, но статическая флэшка стартует раньше, поэтому переменную не удается успеть передать через FlashVars. К тому же, если переменная не пришла, то надо флэшку вовсе не показывать)
Благодарю за внимание.
Ответить с цитированием