![]() |
Не отрабатывает ExternalInterface.addCallback в браузерах, кроме IE.
Здравствуйте!
Есть такой код в as3: Код AS3:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <title>CoinGame</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css" media="screen"> html, body { height:100%; background-color: #ffffff;} body { margin:0; padding:0; overflow:hidden; } #flashContent { width:100%; height:100%; } </style> </head> <script language="javascript"> function flash_SetScores(gameid, scores) { $.ajax({ url: ServerName + "loadModule.php?module_name=scores&action=set&gid=" + gameid + "&scores=" + scores, success: flash_GetResponse }); } function flash_GetScores() { $.ajax({ url: ServerName + "loadModule.php?module_name=scores&action=get", success: flash_GetResponse }); } function flash_GetResponse(_data) { alert(thisMovie("CoinGame")); thisMovie("CoinGame").sendScores(_data); } function thisMovie(movieName) { if (navigator.appName.indexOf("Microsoft") != -1) return window[movieName]; else return document[movieName]; } </script> <body> <div id="flashContent"> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="800" height="600" id="CoinGame" align="middle"> <param name="movie" value="CoinGame.swf" /> <param name="quality" value="high" /> <param name="bgcolor" value="#ffffff" /> <param name="play" value="true" /> <param name="loop" value="true" /> <param name="wmode" value="window" /> <param name="scale" value="showall" /> <param name="menu" value="true" /> <param name="devicefont" value="false" /> <param name="salign" value="" /> <param name="allowScriptAccess" value="always" /> <!--[if !IE]>--> <object type="application/x-shockwave-flash" data="CoinGame.swf" width="800" height="600"> <param name="movie" value="CoinGame.swf" /> <param name="quality" value="high" /> <param name="bgcolor" value="#ffffff" /> <param name="play" value="true" /> <param name="loop" value="true" /> <param name="wmode" value="window" /> <param name="scale" value="showall" /> <param name="menu" value="true" /> <param name="devicefont" value="false" /> <param name="salign" value="" /> <param name="allowScriptAccess" value="always" /> <!--<![endif]--> <a href="http://www.adobe.com/go/getflash"> <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /> </a> <!--[if !IE]>--> </object> <!--<![endif]--> </object> </div> </body> </html> Проблема в том, что в IE 8 коллбэк срабатывает и передаются нужные значения (хотя, кстати ExternalInterface.call("alert", "onget") не показывается). А вот через мозиллу вообще не дергается коллбэк из js в as3. В чем может быть такая проблема? Спасибо. |
Ещё не решили? Проблема может быть в том, что: первое, у вас в тегах object для не IE не указан ни id ни name, второе попробуйте обращаться через следующий синтаксис:
Код:
... |
| Часовой пояс GMT +4, время: 13:02. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.