2012-05-03 13 views
0

私はxml画像ギャラリーを作っています。親からのパスとchildnodeからのイメージ名を取得する必要があります。 しかし、urlrequestでこれらの2つのURLを組み合わせると、画像が表示されず、「SecurityError:Error#2000:Active security contextがありません」というメッセージが返されます。出力に表示されます。actionscript 3.0:親と子を取得した画像URLを結合

<gallery name="Poster" path="gallery/graphic_design/1/"> 
    <image img="im1.jpg" thumb="thumb1.jpg"/> 
    <image img="im2.jpg" thumb="thumb2.jpg"/> 
    <image img="im3.jpg" thumb="thumb3.jpg"/> 
</gallery> 

はここに私のAS3コード

var main_path = [email protected]; 
var thumb_url = main_path + images[i][email protected]; 
var thumb_loader = new Loader(); 
thumb_loader.load(new URLRequest(thumb_url)); 

私はそれをトレースした後、次のとおりです。

は、ここに私のXMLコードです。親ギャラリーからのパスではなく、5つのギャラリーからのすべてのパスを表示します。

gallery/graphic_design/1/gallery/graphic_design/2gallery/graphic_design/3gallery/graphic_design/3gallery/graphic_design/3gallery/graphic_design/3gallery/graphic_design/3thumb1.jpg 

親からのパスのみをロードする方法を教えてください。

+0

もしあなたが 'trace(thumb_url);をすれば、何を得るのですか? – mgraph

+0

また、IOErrorEvent.IO_ERRORのローダーにいくつかのイベントリスナーを追加し、戻ってくるものを確認するために SecurityErrorEvent.SECURITY_ERRORを追加します。 – Neil

+0

@mgraph私は問題を見る。私はそれをトレースした後。イメージ名の前に5ギャラリーのすべてのパスを表示します。親のものではありません。どのように修正する必要がありますか? – user1371172

答えて

0

エラー#2000は、通常、ファイルが見つかりませんでしたエラーです。あなたはそのようなIOErrorEventを実行しているから、より多くの情報を取得することができます

thumb_loader.addEventListener(IOErrorEvent.IO_ERROR, IOError) 

function IOError(e:IOErrorEvent):void { 
    trace(e.text); 
} 

手では、しかし、AS3が採用XML方法はルーニー(私見)であるという事実です。ご覧のように、pathの参照を1つ引っ張るのではなく、pathのすべての参照を引っ張ってから親指の特定の参照を引きます。

出力を読み込むだけで、XMLがはるかに長くなり、上記のコードの3つのバージョンが含まれており、それぞれ増分されたgraphic_design/が含まれているようです。このような場合は、あなたが探している特定のバージョンの@pathのdot.notation構文の参照がありません。実際に

[email protected]要素の複数のエントリは、XML構造内の特定のレベルで存在する場合、それは基本的にその名前のエレメントのアレイだからであるgallery_xml.gallery[0][email protected]

なります。

関連する問題