我試圖從我們製作的Flash影片中填充的XML feed中填充一些數據。這個的主要操作是在MediaElementJS's .as文件的構造函數中。在發生事件偵聽器之前在ActionScript 3中加載XML
無論如何,主要問題是我一直在閱讀,沒有辦法在AS3中同步加載URL(我仍然很難相信)。此構造函數調用parse('url')
和函數addEventListener(EVENT.ADDED_TO_STAGE, initializeAds);
現在廣告需要來自XML的信息,但XML尚未準備好。我試圖在XML解析器結束致電廣告時,我就知道這將是坦然,但它攪亂他們和廣告價值從來沒有從他們的默認值改變..
哦wherefor藝術你動作鎖定機制..
那麼無論如何要預加載URL中的數據?
CODE:
public function LoadXML(e:Event):void
{
removeEventListener(Event.COMPLETE, LoadXML);
var xmlData:XML = new XML(e.target.data);
episodeData.pre.type = [email protected];
episodeData.pre.url = xmlData.episode.pre.ad.text();
episodeData.video = Number([email protected]); /*************** I CAN'T REMEMBER ***********/
episodeData.pageTitle = [email protected];
episodeData.title = [email protected];
episodeData.source = xmlData.episode.video.source.text();
[email protected];
episodeData.post.url=xmlData.episode.post.ad.text();
episodeData.nextEpisode=xmlData.episode.post.nextepisode.text(); //if not empty redirect to this
xmlLoading = false;
//THIS IS WHERE I TRIED TO CALL THE FUNCTION I NEED TO LOAD LATER
}
public function parse()
{
var xmlLoader:URLLoader = new URLLoader();
//var xmlData:XML = new XML();
xmlLoader.load(new URLRequest(rootURL + '/episode.aspx?associd=' + _episode));
//xmlLoader.addEventListener(Event.COMPLETE, processXML);
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
}
我曾與一個靜態的URL地址,當然,諸如此類的東西,但沒有骰子嘗試過。
構造函數中的代碼在我動態分配靜態值時工作,但如果我嘗試將事件鏈接到一起以獲取動態值和動態賦值,它將進行計算。
在構造函數中,肯定自己都運行:
parse();
// Google IMA EventListener
addEventListener(Event.ADDED_TO_STAGE, initialize);
tbh我意識到這是加載的正確方式,這就是爲什麼語言改變了這種情況。 A.)我仍然想知道是否有任何可能的方法來強制它同步......然後B.)我認爲我有一些事件監聽器範圍問題的實際問題。似乎人們很多地遇到它,但我不知道它是什麼。你有什麼可以借用關於在構造函數中設置事件監聽的動態特性的AS3怪癖嗎? – 2012-03-31 07:50:31
你是對的我overshot回答這個問題被包裹在關於異步的部分......我編輯我的答案上面添加一個解決方案以上的問題letwrting ...對不起 – shaunhusain 2012-03-31 18:17:42
好吧我試圖更新我的回答基於我可以從你所說的內容拼湊出什麼,但是如果沒有我在上面發佈的內容中描述的某些部分,我不能真正測試你的代碼。如果我有rootURL,當你「一起鏈接到事件以獲得動態值和動態賦值」時,我可以看到你在做什麼,那麼我可以幫忙,但沒有更多的信息,我只是猜測。 – shaunhusain 2012-03-31 18:42:48