Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.10.2010, 00:41
afarber вне форума Посмотреть профиль Отправить личное сообщение для afarber Посетить домашнюю страницу afarber Найти все сообщения от afarber
  № 1  
Ответить с цитированием
afarber
 
Аватар для afarber

Регистрация: May 2006
Адрес: Germany
Сообщений: 74
Question iFrame-приложение и crossdomain.xml

Привет,

переделываю приложения из типа 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), то проблема бы разрешилась.

Кто как борется с этой (наверное частой) проблемой?

пока

Старый 06.10.2010, 14:59
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Что то мне подсказывает, что надо бы Вам у себя тоже кроссдомайн держать на сайте с разрешением vk . Ну это даже и не важно, у вас вопрос какой то странный, бредовый чтоли. Вы аватарку получаете? Значит запрос проходит верно, а уж раз получаете, то изменять размеры контейнера можете наверняка, причем тут кроссдомайн неясно

Старый 06.10.2010, 16:11
afarber вне форума Посмотреть профиль Отправить личное сообщение для afarber Посетить домашнюю страницу afarber Найти все сообщения от afarber
  № 3  
Ответить с цитированием
afarber
 
Аватар для afarber

Регистрация: May 2006
Адрес: Germany
Сообщений: 74
Скачать аватар с vkontakte.ru при помощи Loader могу, а вот изменять/читать myLoader.content.width и myLoader.content.height уже немогу - из-за SecurityError. Поэтому приходится показывать аватары пользователей нескалированными - у некоторых видна только макушка на фото.

Но после того, как Вы написали, что мне нужно положить crossdomain.xml на мой собственный сайт, мне стало неинтересно дальше читать.

Старый 06.10.2010, 16:22
afarber вне форума Посмотреть профиль Отправить личное сообщение для afarber Посетить домашнюю страницу afarber Найти все сообщения от afarber
  № 4  
Ответить с цитированием
afarber
 
Аватар для afarber

Регистрация: 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;
}
Изображения
 

Старый 06.10.2010, 23:46
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 5  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Вы что издеваетесь? ! Если вы уже получили фото ( тоесть загрузили его) , то флеш уже его обработал по всем параметрам как надо. После полной прогрузки, вывести через трейс - ширину и высоту авы - и школьник справится. Главное понять - что ЗАГРУЗИВ - обработали!

Старый 07.10.2010, 01:55
afarber вне форума Посмотреть профиль Отправить личное сообщение для afarber Посетить домашнюю страницу afarber Найти все сообщения от afarber
  № 6  
Ответить с цитированием
afarber
 
Аватар для afarber

Регистрация: May 2006
Адрес: Germany
Сообщений: 74
Посмотрите на код наверху, посмотрите на картинку...

Старый 07.10.2010, 13:14
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 7  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Используем событие COMPLETE
проверяем...

Код AS3:
loader.addEventListener(Event.COMPLETE, onComplete)
private function onComplete(e:Event) {
  trace(e.target.data)
}
Что вам выводит можете показать?
Да и еще, надеюсь грузится не массив картинок в лоадер, а по одной на каждый Init


Последний раз редактировалось in4core; 07.10.2010 в 13:18.
Старый 07.10.2010, 13:28
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 8  
Ответить с цитированием
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Цитата:
Сообщение от in4core Посмотреть сообщение
Значит запрос проходит верно, а уж раз получаете, то изменять размеры контейнера можете наверняка, причем тут кроссдомайн неясно
Нельзя изменять то, что не разрешено изменять.

afarber, в блогах поищите, по моему кто то обходил эту проблему. А вообще можно через типо проксю, отдавать вашему серверу url картинки => сервер грузит картинку и отдает клиенту.

Старый 07.10.2010, 18:11
mayakwd вне форума Посмотреть профиль Отправить личное сообщение для mayakwd Посетить домашнюю страницу mayakwd Найти все сообщения от mayakwd
  № 9  
Ответить с цитированием
mayakwd
 
Аватар для mayakwd

Регистрация: Jul 2008
Адрес: t:2, x: 0.76
Сообщений: 553
Отправить сообщение для mayakwd с помощью ICQ Отправить сообщение для mayakwd с помощью Skype™
что мешает разместить на хостинге вк минипрелоадер и грузить им все что вам необходимо в его же домен?
__________________
Блог, Twitter
Брюзга.

Старый 07.10.2010, 21:03
afarber вне форума Посмотреть профиль Отправить личное сообщение для afarber Посетить домашнюю страницу afarber Найти все сообщения от afarber
  № 10  
Ответить с цитированием
afarber
 
Аватар для afarber

Регистрация: May 2006
Адрес: Germany
Сообщений: 74
Спасибо, но мини-прелоадер неподходит - т.к. у меня один и тот же мувик для ВКонтакте, Одноклассников, Мейл.ру и др., и главное - пользователи с разных соц. сетей заходят и друг с другом играют.

Способ вроде http://snipplr.com/view/14489/gettin...images-in-as3/ на самом деле тоже не работает.

Наверное сделаю просто прокси-скриптик на PHP, т.к. Одноклассники даже еще хуже чем ВКонтакте - "*" в crossdomain.xml у них есть, но без пароля (или сессии? еще не проверял) они выдают картинку-заглушку.

Добавлено через 7 часов 59 минут
Для вКонтакте я написал такой прокси,
а для Одноклассников пока не придумал:

PHP код:
<?php
define
('MAX_SIZE', 1024 * 1024);

$img = $_GET['img'];
if (
strpos($img, '..') !== false ||
    !
preg_match(',^http://[\w.]*vkontakte\.ru/[\w./?]+$,', $img))
        exit();

$opts = array(
        
'http'=>array(
                
'method' => 'GET',
                
'header' => "Accept-language: en\r\n" .
                            
"Cookie: foo=bar\r\n"
        
)
);

$ctx = stream_context_create($opts);
stream_context_set_params($ctx, array('notification' => 'callback'));
header('Content-Type: ' . $mime);
$fp = fopen($img, 'r', false, $ctx);
fpassthru($fp);
fclose($fp);

function 
callback($code, $severity, $message, $message_code, $bytes_transferred, $bytes_max) {
        if (
$code == STREAM_NOTIFY_FILE_SIZE_IS && $bytes_max > MAX_SIZE)
                exit();

        if (
$code == STREAM_NOTIFY_PROGRESS && $bytes_transferred > MAX_SIZE)
                exit();

        if (
$code == STREAM_NOTIFY_MIME_TYPE_IS) {
                
$mime = strtolower($message);
                switch(
$message) {
                        case 
'image/gif':
                        case 
'image/png':
                        case 
'image/jpg':
                        case 
'image/jpeg':
                                break;
                        default:
                                exit();
                }
        }
}

?>
Если есть предложения по Одноклассникам или как еще надежней сделать прокси-скрипт (чтобы не взломать), пишите.

Думал еще добавить какую-нибудь проверку md5,
чтобы не вызывали с чужих сайтов, но пока не придумал
(из-за дизассемблеров флеша).

Создать новую тему Ответ Часовой пояс GMT +4, время: 17:01.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:01.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.