|
|
|||||
Передать переменную из флешки
Доброго времени суток.
Подскажите пожалуйста, как можно передать переменную не во флешку, а из нее. То есть, есть html + js страница с флешкой. Во флешке вычисляется переменная. Эту переменную надо передать обратно на страницу, чтобы использовать в качестве высоты флешки. Криво объясняю, конечно, да я действо не из прямых. Суть в том, что страница не знает, какой высоты должна быть флешка, а флеш должен ей это сообщить. (ведь вроде нельзя изменить высоту swf из AS3 программно) Сомневаюсь, что это вообще возможно... Но если есть способ... |
|
|||||
А в яваскрипте должна быть функция setPIValue, принимающая в параметр некое число
__________________
...вселенская грусть |
|
|||||
Большое спасибо, а можно код функции?
Пока попробовала: <!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>940x124</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> <script> function setFlashWidth(width) { document.getElementById('940x124').width = width; } </script> </head> <body> <div id="flashContent"> <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="940" height="124" id="940x124" align="middle"> <param name="movie" value="940x124.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="transparent" /> <param name="scale" value="showall" /> <param name="menu" value="true" /> <param name="devicefont" value="false" /> <param name="salign" value="" /> <param name="allowScriptAccess" value="sameDomain" /> <!--[if !IE]>--> <object type="application/x-shockwave-flash" data="940x124.swf" width="940" height="124"> <param name="movie" value="940x124.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="transparent" /> <param name="scale" value="showall" /> <param name="menu" value="true" /> <param name="devicefont" value="false" /> <param name="salign" value="" /> <param name="allowScriptAccess" value="sameDomain" /> <!--<![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> Последний раз редактировалось demy; 17.03.2011 в 18:44. |
|
|||||
Так Вы ничего не добьетесь =)
Внутри флешки нужно подписаться на ресайз от стейджа, а яваскриптом менять ширину дива, в котором находится флешка. Ну и, соответственно, в параметрах вставки флешки ее ширину нужно указать в процентах. public class Main extends Sprite { public function Main() { super(); if (super.stage) this.init(); else super.addEventListener(Event.ADDED_TO_STAGE, init); } private function init(event:Event = null):void { super.removeEventListener(Event.ADDED_TO_STAGE, init); super.stage.scaleMode = StageScaleMode.NO_SCALE; super.stage.align = StageAlign.TOP_LEFT; // entry point super.stage.addEventListener(event.RESIZE, onStageResize); } private function onStageResize(event:Event):void { // перерисовываем внутренности } }
__________________
...вселенская грусть |
|
|||||
Регистрация: Nov 2010
Сообщений: 497
|
Цитата:
1. ExternalInterface.available - false. Проверяется, например, trace'ом, выводом в текстовое поле или работой следующих примеров. 2. Ошибок (исключений) при вызове ExternalInterface.call никаких нет? Исключений там, например. Видно в DebugPlayer, если ошибки нигде не отлавливаются. 3. В javascript метод вызывается? Поменяйте скрипт на следующее: 4. В HTML-коде два вложенных тега Object. Сейчас код устанавливает размер только у внешнего. У внутреннего размер остается фиксирован. А во всяких firefox как раз определяющим является внутренний Object. Так что нужно дать ID-шники обоим элементам и размер устанавливать у них обоих. |
|
|||||
Цитата:
|
|
|||||
Спасибо, надо пробовать.
Последний раз редактировалось demy; 28.03.2011 в 18:13. |
Часовой пояс GMT +4, время: 02:54. |
|
« Предыдущая тема | Следующая тема » |
|
|