![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2006
Адрес: Germany
Сообщений: 74
|
Привет,
переделываю приложения из типа Flash в тип iFrame и столкнулся с такой проблемой: 1) мой мувик лежит на http://preferans.de/Pref.swf 2) результат запроса getProfiles возвращает фотку на сервере контакта - например в моем случае http://cs971.vkontakte.ru/u59751265/b_30628ca4.jpg Из-за того, что в http://cs971.vkontakte.ru/crossdomain.xml не внесен мой сайт "preferans.de", мой мувик Pref.swf не может изменить размеры аватаров пользователей перед показом. Поэтому в моей игре видно только макушки игроков. Если бы vkontakte.ru добавил "*" в crossdomain.xml (как в др. соц. сетях) или разрешил бы заливать мой Pref.swf на свой сервер (как Хостинг на Mail.ru), то проблема бы разрешилась. Кто как борется с этой (наверное частой) проблемой? пока |
|
|||||
|
[+4 06.05.14]
|
Что то мне подсказывает, что надо бы Вам у себя тоже кроссдомайн держать на сайте с разрешением vk . Ну это даже и не важно, у вас вопрос какой то странный, бредовый чтоли. Вы аватарку получаете? Значит запрос проходит верно, а уж раз получаете, то изменять размеры контейнера можете наверняка, причем тут кроссдомайн неясно
|
|
|||||
|
Регистрация: May 2006
Адрес: Germany
Сообщений: 74
|
Скачать аватар с vkontakte.ru при помощи Loader могу, а вот изменять/читать myLoader.content.width и myLoader.content.height уже немогу - из-за SecurityError. Поэтому приходится показывать аватары пользователей нескалированными - у некоторых видна только макушка на фото.
Но после того, как Вы написали, что мне нужно положить crossdomain.xml на мой собственный сайт, мне стало неинтересно дальше читать. |
|
|||||
|
Регистрация: May 2006
Адрес: Germany
Сообщений: 74
|
Вот код и screenshot:
private function handleInit(event:Event):void {
try {
var ratio:Number = _loader.content.width / _loader.content.height;
// loaded picture is broader than _loader
if (ratio > RATIO) {
_loader.content.width = W;
_loader.content.height = W / ratio;
_loader.content.y = (H - _loader.content.height /* - TH */) / 2;
} else {
_loader.content.width = H * ratio;
_loader.content.height = H;
_loader.content.x = (W - _loader.content.width) / 2;
}
} catch (e:Error) {
// resizing avatars loaded from vkontakte.ru by the Pref.swf
// hosted at preferans.de won't work because of their crossdomain.xml
}
_loader.visible = true;
_anonym.visible = false;
}
|
|
|||||
|
[+4 06.05.14]
|
Вы что издеваетесь? ! Если вы уже получили фото ( тоесть загрузили его) , то флеш уже его обработал по всем параметрам как надо. После полной прогрузки, вывести через трейс - ширину и высоту авы - и школьник справится. Главное понять - что ЗАГРУЗИВ - обработали!
|
|
|||||
|
Регистрация: May 2006
Адрес: Germany
Сообщений: 74
|
Посмотрите на код наверху, посмотрите на картинку...
|
|
|||||
|
[+4 06.05.14]
|
Используем событие COMPLETE
проверяем... loader.addEventListener(Event.COMPLETE, onComplete) private function onComplete(e:Event) { trace(e.target.data) } Да и еще, надеюсь грузится не массив картинок в лоадер, а по одной на каждый Init Последний раз редактировалось in4core; 07.10.2010 в 13:18. |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Цитата:
afarber, в блогах поищите, по моему кто то обходил эту проблему. А вообще можно через типо проксю, отдавать вашему серверу url картинки => сервер грузит картинку и отдает клиенту. |
|
|||||
|
Регистрация: May 2006
Адрес: Germany
Сообщений: 74
|
Спасибо, но мини-прелоадер неподходит - т.к. у меня один и тот же мувик для ВКонтакте, Одноклассников, Мейл.ру и др., и главное - пользователи с разных соц. сетей заходят и друг с другом играют.
Способ вроде http://snipplr.com/view/14489/gettin...images-in-as3/ на самом деле тоже не работает. Наверное сделаю просто прокси-скриптик на PHP, т.к. Одноклассники даже еще хуже чем ВКонтакте - "*" в crossdomain.xml у них есть, но без пароля (или сессии? еще не проверял) они выдают картинку-заглушку. Добавлено через 7 часов 59 минут Для вКонтакте я написал такой прокси, а для Одноклассников пока не придумал:
Думал еще добавить какую-нибудь проверку md5, чтобы не вызывали с чужих сайтов, но пока не придумал (из-за дизассемблеров флеша). |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:47. |
|
|
« Предыдущая тема | Следующая тема » |
|
|