2011-09-13 8 views
0

いくつかのイメージを読み込んでいるときにこのエラーを「キャッチ」しようとしています。 次のコードは、問題の周囲のコードにエラーがないことを保証するためのテストケースです。Loader-Class - SecurityError:エラー#2000:アクティブなセキュリティコンテキストがありません

import flash.events.SecurityErrorEvent; 

import flash.display.Loader; 
import flash.net.URLRequest; 

loadImage(); 
function loadImage(): void { 
      var _imageLoader = new Loader(); 
      _imageLoader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, imageSecurityErrorEventListener); 
      var request:URLRequest = new URLRequest("this-image-not-exits.jpg"); 

      _imageLoader.load(request); 
} 

function imageSecurityErrorEventListener (e:SecurityErrorEvent) { 
    trace ("This is my own trace for the Security Error"); 
} 

は、私がここにWWWとにたくさんの投稿や質問があることを知っているが、私は私の問題に答えを見つけることができませんでした。

私は、アプリケーション内で動的に読み込まれる多くの画像とムービーのインタラクティブムービーを制作しています。

このスナップでは、私のアプリケーションで最悪のケースが発生しました(終了しないイメージをロードしようとします)。 このコードを実行すると、 "SecurityError:Error#2000:アクティブなセキュリティコンテキストがありません"というトレースが表示され、Listenerのトレースは表示されません。 あなたは何が間違っているか考えていますか?

答えて

0

具体的なセキュリティエラーは、ErrorEventとして送信されるのではなく、がスローされたです。

それは、代わりにtry...catchブロックを用いて検出することができます。

function loadImage(): void 
{ 
    var _imageLoader = new Loader(); 
    _imageLoader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, imageSecurityErrorEventListener); 
    var request:URLRequest = new URLRequest("this-image-not-exits.jpg"); 

    try 
    { 
     _imageLoader.load(request); 
    } 
    catch (error:Error) 
    { 
     trace("A different error was thrown, not dispatched as an ErrorEvent"); 
    } 
} 

をイベントとしてスローまたは派遣すべてのエラーの完全なリストについては、アドビシステムズ社の言語リファレンス・ページを参照してください。http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Loader.html#load()

+0

のときI同じエラーをトレースしてみてください。別の提案がありますか? – crashbus

+0

おそらくcontentLoaderInfoの代わりにローダを直接聞いていますか? '_imageLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR、imageSecurityErrorEventListener);' – IQAndreas

関連する問題