![]() |
|
||||||||||
|
|||||
|
общий вопрос - swf1 из одного домена подгружает swf2 из другого домена с целью вытащить класс. но вместо этого вылетает ошибка:
SecurityError: Error #2119: Security sandbox violation: caller *swf1* cannot access LoaderInfo.applicationDomain owned by *swf2*. at flash.display::LoaderInfo/get applicationDomain() at loadtest_fla::MainTimeline/onLoadComplete() если подробнее, вот код swf1 import flash.display.Loader;
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.EventDispatcher;
import flash.net.URLRequest;
import flash.system.ApplicationDomain;
import flash.system.Security;
Security.loadPolicyFile("http://*домен swf2*/crossdomain.xml");
Security.allowDomain(*домен swf2*);
var loaderContext:LoaderContext = new LoaderContext();
loaderContext.checkPolicyFile = true;
var url:URLRequest = new URLRequest(*путь к swf2*);
var l:Loader = new Loader();
l.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
l.load(url,loaderContext);
function onLoadComplete(e:Event) {
classFromSwf2 = e.target.applicationDomain.getDefinition("swf2class") as Class;
}
Последний раз редактировалось Oreanor; 20.10.2008 в 18:12. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
crossdomain, allowDomain.
|
|
|||||
|
allowDomain в первой swf-ке у меня прописан, crossdomain тоже есть, забыл скопировать.
тупо до безобразия, но не пашет ![]() Последний раз редактировалось Oreanor; 20.10.2008 в 18:22. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
allowDomain должен быть вписан в swf2.
Укажите в LoaderContext текущий ApplicationDomain. |
|
|||||
|
добавил в swf1
добавил в swf2 не помогло в файле кроссдомена прописано Последний раз редактировалось Oreanor; 20.10.2008 в 18:31. |
|
|||||
|
А в свф которую вы подгружаете ничего добавлять не надо.
Главное на сайте где она расположена должен быть http://www.dnadillo.dn.ua/crossdomain.xml var context:LoaderContext = new LoaderContext();
if (Security.sandboxType!='localTrusted') context.securityDomain = SecurityDomain.currentDomain;
trace(Security.sandboxType);
context.applicationDomain = ApplicationDomain.currentDomain;
var ldr:Loader = new Loader();
var urlReq:URLRequest = new URLRequest("http://www.dnadillo.dn.ua/fla/cat.swf");
ldr.load(urlReq,context);
//ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded);
addChild(ldr);
http://murmadillo.tut.su/fla/One_cat.swf http://www.dnadillo.dn.ua/fla/Crossdomain.html Последний раз редактировалось Alex Lexcuk; 20.10.2008 в 18:46. |
|
|||||
|
Alex Lexcuk, OMG, это оно!!!
вот этой чертовой строчки не хватало: спасибо огромное всем! |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:16. |
|
|
« Предыдущая тема | Следующая тема » |
|
|