Показать сообщение отдельно
Старый 31.03.2012, 10:18
Sociofilm вне форума Посмотреть профиль Отправить личное сообщение для Sociofilm Найти все сообщения от Sociofilm
  № 1  
Ответить с цитированием
Sociofilm

Регистрация: Aug 2010
Адрес: http://sociofilm.ru
Сообщений: 23
По умолчанию IE через innerHTML не видит методов флэшки (которые EnternalInterface)

Добрый день!
Понимаю, что вопрос не совсем в тему, долго определялся в какой раздел его адресовать,
решил все же выложить сюда, может есть люди, которые с таким уже встречались и решили.

Код HTML
PHP код:
    <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. К тому же, если переменная не пришла, то надо флэшку вовсе не показывать)
Благодарю за внимание.