Не работает при загрузке в вк

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Ответить
Agiliter
Сообщения: 112
Зарегистрирован: 01 фев 2014, 13:46

Не работает при загрузке в вк

Сообщение Agiliter »

Добрый день! Решил протестировать своё приложение в ВК. Однако, на сайте оно не работает. Вот код

Код: Выделить всё

package  {     import flash.text.TextField;    import Model.*;    import Controller.*;    import View.*;    import flash.display.Sprite;    import flash.events.Event;    import flash.events.*;    import flash.net.*;     public class Main extends Sprite     {        private var flashVars:Object;                private var mainTable:Object;        private var tableOfItem:Object;        private var tableOfShip:Object;                private var txtLevel:TextField;                        public function Main()         {            trace("Запущен класс Main");                    mainTable = new Object();            txtLevel = new TextField();            txtLevel.autoSize = "left";            txtLevel.x = 200;            txtLevel.y = 200;            addChild(txtLevel);            addEventListener(Event.ADDED_TO_STAGE, onFlashVarsInit);        }         public function onFlashVarsInit(e:Event = null):void        {            txtLevel.text += "Main добавлен на сцену";            trace("Main добавлен на сцену");            flashVars = stage.loaderInfo.parameters as Object;                            if (!flashVars.api_id)            {   // -- Your code for local testing:flashVars['api_id'] = **************;flashVars['viewer_id'] = *******;flashVars['sid'] = "***************************";flashVars['secret'] = "***********";// -- //            }                       if (stage)             {                loadData();            }                           else             {                txtLevel.text = "Fail in Main!";                trace("Fail in Main!");            }                        //newGame(flashVars);        }         private function loadData():void        {            txtLevel.text += " loadData ";            var loader:URLLoader;            var request:URLRequest;             loader = new URLLoader();            request = new URLRequest('http://***.ru/Tables/itemData.json');            try            {                               loader.load(request);                loader.addEventListener(Event.COMPLETE, complete1);                loader.addEventListener(IOErrorEvent.IO_ERROR, BAD_TEST);            }            catch(e)            {                txtLevel.text = String(e);            }                       }         private function complete1(e:Event):void        {                       txtLevel.text += "complete1";            trace("Good!");            var jsonStr:String;            tableOfItem = new Object();            jsonStr = e.target.data;            trace("jsonStr " + jsonStr);            tableOfItem = JSON.parse(jsonStr);            trace("jsonObj " + tableOfItem);            mainTable.tableOfItem = tableOfItem;                        var loader:URLLoader;            var request:URLRequest;             loader = new URLLoader();            request = new URLRequest('http://***.ru/Tables/shipTable.json');                        loader.load(request);            loader.addEventListener(Event.COMPLETE, complete2);            loader.addEventListener(IOErrorEvent.IO_ERROR, BAD_TEST);                       }         private function complete2(e:Event):void        {                       txtLevel.text += "complete2";            ...                     newGame(flashVars);        }                private function newGame(vkData:Object):void        {            txtLevel.text += " Запущена функция newGame класса Main";            trace("Запущена функция newGame класса Main");                     //removeEventListener(Event.ADDED_TO_STAGE, init);                      ...         }         private function BAD_TEST(e:IOErrorEvent):void        {            txtLevel.text += "BAD_TEST";            trace("File not found! Ошибка:" + e);        }    }}
Чтобы отследить до какого момента приложение работает ввел текстовое поле txtLevel, которое выводит только "Main добавлен на сцену loadData". То есть дальше loadData, как понимаю, в ВК приложение не работает. В чем может быть причина?

Такс.. Кажись, ошибка безопасности.
Сделал так

Код: Выделить всё

loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, Security);private function Security(e:SecurityErrorEvent):void        {            txtLevel.text = "Security" + String(e);                 }


Выдает
Security[SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048"]
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: Не работает при загрузке в вк

Сообщение Serge »

Поищите на форуме crossdomain.xml
Agiliter
Сообщения: 112
Зарегистрирован: 01 фев 2014, 13:46

Re: Не работает при загрузке в вк

Сообщение Agiliter »

Serge писал(а):Поищите на форуме crossdomain.xml
Он лежит в корневом каталоге уже давно. Дело в чем-то другом.
Аватара пользователя
alexandr_ratush
Сообщения: 94
Зарегистрирован: 05 мар 2014, 21:47

Re: Не работает при загрузке в вк

Сообщение alexandr_ratush »

Советую вам посмотреть через Charles что запрашивает флешка, и что ей возвращается. Должно помочь.
P.S. Я могу ошибаться (не помню всех нюансов данной проблемы), но попробуйте очистить кеш.
Agiliter
Сообщения: 112
Зарегистрирован: 01 фев 2014, 13:46

Re: Не работает при загрузке в вк

Сообщение Agiliter »

alexandr_ratush писал(а):Советую вам посмотреть через Charles что запрашивает флешка, и что ей возвращается. Должно помочь.
Спасибо) Скачал Charles. Классная прога. Жаль, что триал.. Проверил, не загружались скрипты. Поколдовал с allowDomain, теперь скрипты отрабатывают как положено и картинки загружаются. Вот только не выводятся. Локально работает, а вот когда загружаю на сайт, то нет. Какие-то косяки со stage, как понимаю. Но разобраться пока не получилось
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: Не работает при загрузке в вк

Сообщение Serge »

Agiliter
консоль Хрома может почти тоже самое. А с расширением AdvancedRestClient (может есть и другие) - и запросы тоже может отправлять.
tolmasoft
Сообщения: 26
Зарегистрирован: 01 ноя 2012, 18:35

Re: Не работает при загрузке в вк

Сообщение tolmasoft »

чтоб грузились картинки грузите их с loaderContext'ом
Ответить