PDA

Просмотр полной версии : Проблема с crossdomain.xml


MyXus
26.11.2006, 16:02
Пытаюсь лоадить мувик с AS с другого домена (в загружаемом мувике есть AS-код).
Если запускать с testMovie (из флеша), компайлер выдает такую ошибку: *** Security Sandbox Violation ***
SecurityDomain 'http://URL.ru/1/pic11.swf' tried to access incompatible context
Вторая проблема заключается в том, что и для локала и для интернета getBytesTotal/loaded для loadMovie и bytesTotal/loaded для MovieClipLoader.onLoadProgress отдают undefined. При том графика из загруженного swf на экране появляется, onLoadComlete и onLoadInit вызываются.
Проблема есть и для локала и для интернета и в каких угодно сочетаниях.

Вот содержание моего crossdomain.xml<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-from domain="*" to-ports="*" />
</cross-domain-policy>. Он лежит в корне обоих доменов.

etc
26.11.2006, 16:58
А ты разрешил мувику с другого домена обращаться к твоему через allowDomain? Судя по всему — нет, отсюда и невозможность получить getBytesLoaded и т.п.

MyXus
26.11.2006, 23:37
я написал в обоих мувиках System.security.allowDomain("*");
В обоих доменах лежит разрешающий всё crossdomain.xml
но ошибка *** Security Sandbox Violation *** все равно остается. Как разрешить вообще всё?

etc
27.11.2006, 00:14
Клип-родитель должен разрешить обращение к себе.

MyXus
27.11.2006, 00:24
ну это делается с помощью System.security.allowDomain("*"); ? ну так я его поставил... В разделе System.security больше не вижу ничего полезного..

MyXus
27.11.2006, 00:48
Вот код родительского swfthis.createTextField('ttt', 0, 50, 50, 100, 100);
System.security.allowDomain("*");
System.security.allowInsecureDomain("*");
var mc:MovieClip = this.createEmptyMovieClip("mc", this.getNextHighestDepth());
mc.loadMovie("http://spproekt.ru/1/pic11.swf");Вот код подгружаемого swfSystem.security.allowDomain("*");
System.security.allowInsecureDomain("*");
var root = _root;
for(i in root) {
if(root[i].getTextFormat()) {
root[i].text = '!!!!!!!!!!!!!';
}
}Код crossdomain.xml я писал чуть выше.
Подгружаемый swf выкладываю на хостинг, родительский - запускаю из флеша. Ошибка *** Security Sandbox Violation *** присутствует. Почему?

MyXus
27.11.2006, 01:58
Разобрался
http://www.adobe.com/devnet/flash/whitepapers/security.pdf
Оказывается не все свойства и методы доступны даже при использовании метода allowDomain().