Функция ActionScript Callback () - URLRequest () вызывает «Нарушение изолированной программной среды безопасности» - PullRequest
0 голосов
/ 19 марта 2012

* Нарушение изолированной программной среды безопасности *

SecurityDomain 'http://loadimage.my.com' попытался получить доступ к несовместимому контексту' http://my.com/My.swf'

Я загружаю файл изображения jpgв actionscript.

В функции обратного вызова я хочу добавить ребенка, но отображается «Нарушение изолированной программной среды безопасности».

public function preloadAll() {
    ...
    // call preLoad with callback function
    preLoad(function (slide:Slide):void{
        // 
        // loading this url causes the error *** Security Sandbox Violation ***
        //
        var url:String = "http://my.com/My.swf";
        var urlReq:URLRequest = new URLRequest(url); 
        var loader:Loader = new Loader() 
        loader.load(urlReq); 
        slide.image.addChild(loader);
    });
    ...
}


public function preLoad(callback: Function = null) : void {
    this.url = "http://image.my.com/cache/Picture_001.jpg"

    var self:Slide = this;
    this.image.addEventListener(Event.COMPLETE, function() : void {
            // callback when image completes loading
            callback(self);
    });

    this.image.load(this.url);
}    

http://my.com/crossdomain.xml
<?xml version="1.0" ?>
<cross-domain-policy>
  <site-control permitted-cross-domain-policies="master-only"/>
  <allow-access-from domain="*"/>
  <allow-access-from domain="" />
  <allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>

1 Ответ

0 голосов
/ 19 марта 2012

Я не совсем уверен, что именно вы пытаетесь сделать внутри кода для image, но я предполагаю, что вы пытаетесь получить доступ к содержимому загрузчика, что, очевидно, является нарушением безопасности, поскольку SWF-файл загружен из другого домена.

Существует два способа доступа к содержимому SWF-файла, загруженного из другого домена:

  1. Загрузить SWF-файл в «текущий» домен безопасности
  2. Используйте Security.allowDomain() в загруженном SWF

Подробнее здесь:

https://stackoverflow.com/a/9547996/579230

...