1

情報の変数を Flash AS3 に渡す xml ファイルを使用しようとしましたがExternalInterface、新しい選択が行われるたびにデータを変更する方法がわかりません。

を呼び出してExternalInterface初期データを使用することができましたが、変更できないようです。

これまでのところ期待どおりに動作する prettyPhoto ライトボックスの次のコードが HTML にあります。

<script type="text/javascript" charset="utf-8">
  $(document).ready(function(){
$("a[rel^='prettyPhoto']").prettyPhoto({hideflash: false, allow_resize: true, callback: function() {PAYPAL.apps.MiniCart.hide(null);}
});
});
function launchPrettyPhoto(urlContent) {
        $.prettyPhoto.open(urlContent);
     }
</script>

xml データを呼び出すために、以下のように、画像、サムネイル、タイトル、説明、およびライトボックスをアクティブにするためのリンクの URL を表す多くのフィールドがあります。

function loadXML(event:Event):void {
xml=new XML(event.target.data);
var total:Number=xml.pic.length();
for (var i:int = 0; i < total; i++) {
    thumbs[i]=xml.pic.thumb.text()[i];
    images[i]=xml.pic.image.text()[i];
    titles[i]=xml.pic.title.text()[i];
    descriptions[i]=xml.pic.desc.text()[i];
    wwwlink[i]=xml.pic.link.text()[i];
}
loadThumbs();
trace("loading thumbs");    
loader.removeEventListener(Event.COMPLETE, loadXML);
}

画像が変更されるたびに、次のポイントを介してデータが更新されます。これにより、(理想的には)ExternalInterface「url」も変更されるはずです。これには問題があります。

新しい選択ごとに、データが渡されます:

mainLoader.load(mainRequest);
title_txt.text = titles[theImg]; //Output title
desc_txt.text = descriptions[theImg]; Output Description
link_txt.htmlText = wwwlink[theImg]; Output URL

ExternalInterface以下を開始する関数を呼び出すボタンがあります。

function callPrettyPhoto(url:String):void{
trace("Calling lightbox");
if (ExternalInterface.available) {
    // ExternalInterface calls function
    ExternalInterface.call("launchPrettyPhoto", url);
}
trace(ExternalInterface.call);
}

function initCall(event:MouseEvent):void {
// Call ExternalInterface
callPrettyPhoto(xml.pic.link.text());
}

現状では、画像を変更すると「URL」の更新または変更に失敗することを除いて、すべてがうまく機能します。残りは、それに応じてすべてを更新し、必要に応じてライトボックスを呼び出します。

私が見ることができることから、以下の行は、xml ファイルの最初の URL を参照しているように見え、残りの URL で更新に失敗するため、扇動者です。

callPrettyPhoto(xml.pic.link.text());

私は試しましたが、提出に取り組むことはできません。私が間違っている場所についての経験豊富な意見をいただければ幸いです。

XML

<images>
<pic>
    <image>images/01_00_00.jpg</image>
    <thumb>images/_t01_00_00.jpg</thumb>
    <title>First Picture</title>
    <desc>Typical description</desc>
    <link><![CDATA[http://www.website.com/_i01_00_01.html?iframe=true&width=100%&height=100%]]></link>
</pic>
</images>
4

0 に答える 0