![]() |
SecurityError`ы при загрузке swf с другого сервера
Всем добрый день. При использовании АПИ Вконтакте столкнулся с новой для меня проблемой, хотелось бы узнать как её решили те кто разбираются лучше меня.
Проблема в следующем. У меня есть swf, получающий данные с вконтакта, а затем основываясь на полученных данных делает запрос к стороннему серверу и получает данные оттуда. Если залить этот swf на вконтакте и запускать оттуда, то все работает как надо. Но ввиду того, что файл весит больше 1 мб, я решил загружать его через прелоудер. Написал свой прелоудер, протестировал, работает тоже как надо. Далее заливаю прелоудер на вконтакте, и он загружает описанный выше swf-файл с удаленного сервера. В прелоудере прописал Security.allowDomain("адрес сервера"), так как загружаемый swf-файл обращается к сцене. Теперь вроде бы все должно работать, но не работает. Security Error (номер не помню) и пишет, что загружаемый swf-файл не может сделать запрос к АПИ вконтакте. В корень удаленного сервера закинул кроссдомейн, но все равно не помогает. Вот код запроса из загружаемого swf-файла. Код AS3:
|
Грузите второй swf в изолированную среду загружающего (того, который на ВКонтакте находится).
Цитата:
Код AS3:
|
Цитата:
|
SecurityDomain#currentDomain
|
Это надо в кроссдомейне прописывать или в коде? Попробовал воспользоваться поиском и не нашел, как этим пользоваться...
Если вас не затруднить, можно еще более подробней? |
Код AS3:
|
Большое спасибо за Ваши советы, обязательно попробую когда опять доберусь до флэша, надеюсь поможет. Если что отпишусь :rolleyes:
|
Простите за тупость но что нужно еще прописать во флеше или на сервере, что бы заработал этот прелоадер(((
Код AS3:
При компиляции пишет SecurityError: Error #2142: Нарушение изолированной среды: локальные SWF-файлы не могут использовать свойство LoaderContext.securityDomain. Помогите пожалуйста, буду ооочень признателен |
Cвойство LoaderContext.securityDomain можно использовать только если вы выложили свф на домен. Если тестите приложение с рабочего стола, надо просто:
Код AS3:
|
В том то и дело... Загружаемое приложение лежит на сторонем сервере http://[domain]/1.swf
Прописал контекст для лоадера, прописал аллоуДомаин в загружаемой флешке... и ничего не происходит(( Если пытаюсь протестировать при компиляции выдает SecurityError: Error #2142: Если просто компилю выкладываю на 3й сервер, просто черный экран... По событиям отследил, что срабатывает Ивент.Опен ... Так же к серверу где лежит загружаемая флешка идет обращение на кроссдомаин и больше ничего((( |
Попробуйте на всякий случай явно задать свойство checkPolicyFile:
Код AS3:
Может поможет... Больше ничего в голову не приходит. |
Все, получилось)))
Оказывается это были проблемы не с политикой безопасности... У меня в загружаемой флешке было обращение к stage, что в итоге выдавало ошибку и приложение хоть и загружалось, то просто не запускалось((( Всем спасибо за помощь))) |
У меня такая же ошибка.Но я так понимаю, все обращение к АПИ нужно производить через саму флешку прелодер которая залита на вКонтакте, а не через ту которую она с домена подгружает:confused:. счас буду пробовать. Если я ошибаюсь поправьте меня плз...
|
Грузите в изолированную срезу загружающей, и обращайтесь себе на здоровье.
|
Будьте добры Разъясните, что значит в "изолированую среду загружающей" это тоже что я и описал:"Но я так понимаю, все обращение к АПИ нужно производить через саму флешку прелодер которая залита на вКонтакте, а не через ту которую она с домена подгружает" или нет?
|
А тему прочитать сначала?
|
она у меня в закладках еще с того момента как был дан первый ответ)), вот просто сегодня перерегистрироватца пришлось...
собственно, я понял это так как описал в предыдущем вопросе потому и спросил так оно или нет? То есть хотелось бы подбить итоги как говориться и закрыть тему)) увидев кусок кода из флешки загрузчика и загружаемой флешки чтоб сразу наглядно было видно как загружаемая флешка получила допустим имя пользователя. Завтра поковыряюсь и обязательно это опишу если получиться. Добавлено через 63 часа 41 минуту И так к АПИ контакта можно обращаться непосредственно и с загруженной флешки, только после того как она загрузилась в флешку загрузчик и получила флешварс из него или от stage.loaderInfo.parametrs. Но так как я использую еще и контейнер, то я флешкой загрузчиком получаю флеш варс: wrapper = Object(parent.parent); wrapper.aplication.parametrs.viewer_d; допустим и тогда передаю их флешке которая загрузилась... |
| Часовой пояс GMT +4, время: 06:26. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.