0

* セキュリティ サンドボックス違反 *

SecurityDomain 'http://loadimage.my.com' が互換性のないコンテキスト 'http://my.com/My.swf' にアクセスしようとしました

actionscript で jpg 画像ファイルを読み込んでいます。

コールバック関数でaddChildしたいのですが、「セキュリティサンドボックス違反」と表示されます。

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>
4

1 に答える 1

0

のコード内で何をしようとしているのか正確にはわかりませんimageが、ローダーのコンテンツにアクセスしようとしていると推測されます。これは、SWF が別のドメインから読み込まれているため、明らかにセキュリティ違反です。

別のドメインからロードされた SWF のコンテンツにアクセスするには、次の 2 つの方法があります。

  1. 「現在の」セキュリティ ドメインに SWF をロードする
  2. Security.allowDomain()読み込まれた SWF での使用

詳細はこちら:

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

于 2012-03-19T19:46:38.527 に答える