Это зависит от того, как вы компилируете SWF. Существует проблема безопасности Sanbox. В Essential Actionscript 3.0 есть целая глава по безопасности, но я постараюсь сделать ее краткой.
Используя Flash IDE, у вас есть две «опции безопасности»
либо у вашего swf есть права на локальную загрузку клипов (из того же домена),
либо из сети (другие домены)
Скажем, swfA - это SWF на сайте-A, а swfB - это SWF на сайте-B
.
Прежде всего, попробуйте установить LoaderContext для загрузчика, который вы используете для swfB
, например
//1st param(true) in LoaderContext constructor means always check for policy files
var swfBLoaderContext:LoaderContext = new LoaderContext(true);
var swfBLoader:Loader = new Loader();
swfBLoader.contentLoaderInfo.addEventListener(Event.INIT, swfBLoaded);
swfBLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, swfBIOError);
swfBLoader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, swfBSecurityError);
swfBLoader.load(new URLRequest('http://siteb.com/b.swf',swfBLoaderContext);
function swfBLoaded(event:Event):void{
trace(event.target.content);
}
function swfBIOError(event:IOErrorEvent):void{
trace(event);
}
function swfBSecurityError(event:SecurityErrorEvent):void{
trace(event);
}
Затем измените локальную безопасность воспроизведения в настройках документа, чтобы получить доступ к сетевым файлам.
альтернативный текст http://www.adobe.com/devnet/flash/articles/local_network_playback/fig01.jpg
Спасибо Adobe за изображение.
Для получения более подробной информации обратитесь к этой статье на devnet .
Гудлак.