Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Загрузка контента без кроссдоменника (http://www.flasher.ru/forum/showthread.php?t=212475)

undefined 20.02.2016 16:58

Загрузка контента без кроссдоменника
 
Заметил интересное поведение флэша.
case 1:На нашем серваке весь контент лежит вне папки www т.е. по http не доступен.Загрузка происходит через спец. скрипт, который отдает картинки, ичсх у нас нигде не лежит crossdomain.xml и все работает.

case 2:Имеется скрипт, который делает редирект на картинку с котиком из интернетов. Кроссдоменника так же нет, но в этом случае кидается security error.
Почему так?

Tails 20.02.2016 17:09

Что за скрипт? Как картинку отдаёте? В консоль браузера смотрели? Security error в ответ на какое действие?

undefined 20.02.2016 17:14

Ошибка то флэшем генерится.Причем тут браузер?
Выскакивает при попытке обратиться к содержимому загруженного контента.
Код AS3:

var bmp:Bitmap = e.target.content as Bitmap;

Добавлено через 3 минуты
не силен в пхп, но видимо выдача в этих строках:
PHP код:

header ('Content-Type: '.mime_content_type ($path_to_file),TRUE);
readfile ($path_to_file); 


Tails 20.02.2016 17:20

Попробуй грузить с таким контекстом:
Код AS3:

private static const CONTEXT:LoaderContext                        = new LoaderContext(true, ApplicationDomain.currentDomain, SecurityDomain.currentDomain);
CONTEXT.allowCodeImport                                                                = false;

п.с. Контекст передаётся в метод load.

undefined 20.02.2016 17:30

Неа, все равно эксепшен кидается.
allowCodeImport я так понял влияет на загрузку swf.У меня простые jpg.
Собственно вопрос не в том, как сделать чтоб эксепшен не кидался, а почему в одном случае можно без кроссдоменника, а во втором - нет?Вопрос на понимание так сказать.

Добавлено через 1 минуту
пс: вроде так инициализировать поля класса можно только простыми типами.

Tails 20.02.2016 17:58

В каком случае можно без кроссдоменника?

undefined 20.02.2016 18:01

Цитата:

В каком случае можно без кроссдоменника?
case 1

Tails 20.02.2016 18:08

------------->
Цитата:

Что за скрипт? Как картинку отдаёте? В консоль браузера смотрели? Security error в ответ на какое действие?

undefined 20.02.2016 18:18

------------->
Цитата:

Ошибка то флэшем генерится.Причем тут браузер?
Выскакивает при попытке обратиться к содержимому загруженного контента.
Код AS3:
var bmp:Bitmap = e.target.content as Bitmap;
Добавлено через 3 минуты
не силен в пхп, но видимо выдача в этих строках:
PHP код:
header ('Content-Type: '.mime_content_type ($path_to_file),TRUE);
readfile ($path_to_file);

caseyryan 20.02.2016 18:26

А где сама флешка лежит? На этом же серевере?

undefined 20.02.2016 18:28

Цитата:

А где сама флешка лежит? На этом же серевере?
да.На том же, что и контент из case 1.

Tails 20.02.2016 18:45

Автор на отрез отказывается сообщать любые детали.
Боюсь, тут поможет только сильное колдунство.

undefined 20.02.2016 18:46

Tails,я тебе 2 раза уже ответил

Tails 20.02.2016 18:55

Ладно, кажется я понял, что под "волшебным скриптом" имелся ввиду пхп скрипт, а не какой нибудь клиентский.

Ну тогда тут всё понятно. То, что там делает сервак и откуда он берёт в итоге картинку - для клиента никак не отражается. Он может её подгрузить из папки на диске, спросить у другого сервака, сгенерировать самостоятельно и т.п. Клиент об этом даже не узнает. А вот редирект - это совсем другое. Это уже клиент должен обо всё позаботиться, сервак его только посылает в другое место.

undefined 20.02.2016 19:01

Цитата:

Ладно, кажется я понял, что под "волшебным скриптом" имелся ввиду пхп скрипт, а не какой нибудь клиентский.
Ну вообще да, клиенту выдать картинку может только сервер, а никак не "клиентский скрипт" :)
Цитата:

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

Dante 24.02.2016 15:53

Цитата:

Сообщение от caseyryan (Сообщение 1192003)
А где сама флешка лежит? На этом же серевере?

Цитата:

Сообщение от undefined (Сообщение 1192004)
да.На том же, что и контент из case 1.

а в чем загадка? вы давно ответили на свой вопрос)

undefined 24.02.2016 16:20

загадка в том, что на сервере нигде не лежит crossdomain.xml,но контент при этом отдается без проблем.

amesqit 24.02.2016 16:58

crossdomain.xml нужен для взаимодействия между доменами, т.е. разрешения выдачи контента приложению из стороннего домена. При передаче контента приложению из текущего домена никакой кроссдомейн не нужен, т.к. взаимодействие идет внутри одного домена и никакого кроссдоменного (междоменного) взаимодействия не возникает.

undefined 24.02.2016 18:18

о как, да это я затупил.

dimarik 25.02.2016 22:04

Вот тут есть ответы. Редирект отдельно записан.


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

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