|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Jul 2006
Сообщений: 46
|
Динамическая передача значений: flashvars вместо externalinterface
Задача: передать значение javascript переменной в swf.
От использования ExternalInterface пришлось отказаться, т.к. для обеспечения работоспособности требуется заставлять пользователя делать прописки в Global Security Settings panel, что не подходит в рамках проекта. остался вариант с flashvars: <script src="js/swfobject.js"></script> <script> function refresh(param){ // удалим все childs var sender=document.getElementById("sender"); while(sender.hasChildNodes()){ sender.removeChild(sender.lastChild); } // добавим div var sender = document.createElement("div"); sender.id = "sender_swf"; document.getElementById("sender").appendChild(sender); // swf swfobject.embedSWF( "sender.swf", "sender_swf", "100%", "100%", "10.0.0", "expressInstall.swf", {val_user: param}, {}, {id:"sender_swf"}); } </script> </head> <body onload="refresh('start')"> <button onclick="refresh('user value')">Послать</button> <div id="sender"></div> </body> Спасибо. |
|
|||||
Цитата:
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works. |
|
|||||
Регистрация: Jul 2006
Сообщений: 46
|
слушай умник, ты меня раздражаешь, есть расширение для firefox с sidebar, в котором находится swf. Необходимо передавать по событию в ff переменную в swf. Попробуй это организовать через ExternalInterface, я тебе заплачу и скажу что ты молодец
|
|
|||||
Себя Вы, видимо, не считаете с умником. Ну, может и правильно. Если Вы хотите чтобы кто-то решил Вашу проблему и готовы заплатить - то вы ошиблись разделом. А то, что написанное Вами - бред, это правда.
Если хотите получить помощь - приведите код работы с ExternalInterface (ну и js-составляющую для полноты картины)
__________________
...вселенская грусть |
|
|||||
Регистрация: Jul 2006
Сообщений: 46
|
я считаю себя не умнее окружающих, и если кто-то что-то говорит, то пытаюсь найти в этом смысл, а не ... забыли...далеко от темы
Цитата:
package { import flash.display.*; import flash.events.*; import flash.text.*; import flash.external.ExternalInterface; public class Main extends Sprite { private var txt:TextField; public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); var format:TextFormat = new TextFormat(); format.align = TextFormatAlign.LEFT; format.size = 6; txt = new TextField(); txt.defaultTextFormat = format; txt.autoSize = TextFieldAutoSize.LEFT; txt.text = ""; txt.x = stage.stageWidth/2-txt.width/2; txt.y = stage.stageHeight/2-txt.height/2; addChild(txt); ExternalInterface.addCallback("setparam", setparam); } private function setparam(param:String):void { txt.text = "param: " + param; } } } <script src="swfobject.js" type="text/javascript"></script> <script> function sets(param) { document.getElementById("fsidebar-movie").setparam(param); } swfobject.embedSWF( "chrome://fsidebar/content/sample.swf", "sender-swf", "100%", "100%", "10.0.0", "expressInstall.swf", {}, {}, {id:"fsidebar-movie"}); } </script> </head> <body> <div> <button onclick="sets('1111111111111111111111111111111')">Послать</button> </div> <div id="sender-swf"></div> </body> Добавлено через 3 минуты дело в том, что не только, по событию, т.е. нужно периодически передавать в swf новое значение параметра. Очевидным является ExternalInterface, но он не подходит одназначно. SetVariable в As3 не работает. |
|
|||||
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,112
Записей в блоге: 1
|
Возможно использовать еще одну невидимую флэшку, которую по-необходимости обновлять (заново встраивать) с нужными данными через flashvars? Флэшка при запуске через LocalConnection будет сообщать основной все свои флэшвары. Такой вариант сойдет?
__________________
hauts.ru |
|
|||||
Регистрация: Jul 2006
Сообщений: 46
|
именно такой вариант используется, правда этот вариант похож на "костыли", но посмотрим как будет в эксплуатации. Спасибо. Тему можно закрывать.
|
|
|||||
Регистрация: Nov 2010
Сообщений: 497
|
Цитата:
|
Часовой пояс GMT +4, время: 11:06. |
|
« Предыдущая тема | Следующая тема » |
|
|