Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   приложение и картинки (http://www.flasher.ru/forum/showthread.php?t=127776)

ostashko 23.07.2009 01:32

приложение и картинки
 
Здравствуйте! Во флеше я новичок. Подскажите, пожалуйста, такую вещь. Можно ли сделать приложение для Вконтакте, которое бы отображало подгружаемые картинки с моего сайта.
Сделал с помощью класса Loader, выдает ошибку:

SecurityError: Error #2122: Нарушение изолированной среды: Loader.content: ... не может осуществить доступ к .... Необходим файл политики, но, когда были загружены эти мультимедийные данные, флаг checkPolicyFile не был установлен.
at flash.display::Loader/get content()
at vkshop/initListener()

Можно ли как то обойти или нет?
Если нет то сразу ещё вопрос, как все таки можно подгужать картинки? Хранить чтоли только Вконтакте в фотоальбоме?
Заранее спасибо.

СлаваRa 23.07.2009 01:37

со сторонних серверов, вроде, грузить ничего нельзя, только с вконтактовских, если я конечно не ошибаюсь.

undefined 23.07.2009 03:38

Цитата:

со сторонних серверов, вроде, грузить ничего нельзя, только с вконтактовских, если я конечно не ошибаюсь.
не, в описание API указано что флэш может свободно общаться со сторонними серверами. Из API есть часть функций кторые доступны только при запросах с удаленного сервера, т.е. флэш может послать запрос на удаленный сервер, а тот потом пошлет запрос на сервак вконтакте (все это из соображений безопасности). А вот ExternalInterface нельзя вызывать т.к. в разметке выставлено allowScriptAccess="never". В MySpace и Facebook (с последнего якобы слизывали вконтакте) такого нет.

Добавлено через 11 минут
побдобнее есть тут
http://vkontakte.ru/topic-1_20012114#page_2
и тут
http://vkontakte.ru/club1

ramshteks 23.07.2009 05:15

"обойти" это можно, узнав что за файл такой crossdomain.xml

WRC_S 23.07.2009 09:57

Даже можно к своему серваку конектится с вконтакта, есть же такие игры в контакте! проблема складывается в политеке безопасности!

LA_ 23.07.2009 17:09

вроде это возможно лишь после того, как приложение будет одобрено администрацией вконтакте.
для ссылок на внешние сайты по крайней мере так

cleptoman 23.07.2009 17:27

LA, речь не про переходы на внешние сайты, а про загрузку внешних данных

cooler_ua 23.07.2009 17:36

Положи в корневик сервера, с которого скачиваешь фотки вот такой файл:

crossdomain.xml

с содржанием:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>

ostashko 25.07.2009 00:29

Файл crossdomain создал и положил. По прежнему не работает. Ошибка:
SecurityError: Error #2122: Нарушение изолированной среды: Loader.content: http://cs4304.vkontakte.ru/u1391570/423c75c66846e7.zip не может осуществить доступ к http://webpodarok.com/pictures/69.jpg. Необходим файл политики, но, когда были загружены эти мультимедийные данные, флаг checkPolicyFile не был установлен.
at flash.display::Loader/get content()
at vkshop/initListener()

Для подробностей если кто сомневается. Тестовое приложение: http://vkontakte.ru/app705858_1391570
Сервер с которого грузим webpodarok.com
Разместил файл: http://webpodarok.com/crossdomain.xml

Блин, нерешаема чтоли проблема? У меня уже мысли может в бинарники конвертировать, возможно ли такое?

Код приложения:
Код AS3:

package {
        import flash.display.*;
        import flash.net.*;
        import flash.events.*;
 
        public class vkshop extends Sprite {
                private var loader: Loader;
 
                public function vkshop () {
                        var urlRequest: URLRequest = new URLRequest();
 
                        loader = new Loader();
                        loader.contentLoaderInfo.addEventListener(Event.INIT, initListener);                       
                        urlRequest.url = "http://webpodarok.com/pictures/69.jpg";
                        loader.load(urlRequest);
 
                }
 
                public function initListener (e:Event):void {
                        addChild(loader.content);
                }
        }
 
}


Alex Lexcuk 25.07.2009 00:39

посмотрите чего не хватает у вас и допишите себе
Код AS3:

var context:LoaderContext = new LoaderContext();
context.checkPolicyFile = true;
var urlReq:URLRequest = new URLRequest("http://www.[your_domain_here].com/photo11.jpg");
var ldr:Loader = new Loader();
ldr.load(urlReq, context);

Это, знаете где надо было смотреть в Help-e и еще надо именно http://www писать и в контакте тоже поидее тестить через www
Код:

http://www.vkontakte.ru/app705858_1391570
ну рисунки без www точно не должны грузится.


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

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