2012-03-15 28 views
0

我想知道是否有人可以提供幫助,因爲我不是一個動作大師。在Firefox中沒有觸發Actionscript加載器事件

我只是繼承了一些代碼,生成一個嵌入式音頻播放器成爲瑞士法郎。它在Firefox和Safari的偉大工程,除了嵌入式播放器沒有出現在Firefox ... :(

這是Loader類或事件的contentLoaderInfo一個共同的問題?

import flash.display.Loader; 
import flash.display.Sprite; 
import flash.display.StageAlign; 
import flash.display.StageScaleMode; 
import flash.events.*; 
import flash.net.URLRequest; 


flash.system.Security.allowDomain('rd.io'); 
flash.system.Security.allowDomain('rdio.com'); 


/* AD SPECIFIC VARIABLES */ 

var loader_url:String = 'http://rd.io/e/QUzrrjNWMC8/220/500/'; 
var loader_x:int = 40; 
var loader_y:int = 50; 


/* RDIO EMBED */ 


stage.scaleMode = StageScaleMode.NO_SCALE; 
stage.align = StageAlign.TOP_LEFT; 
var loader:Loader = new Loader(); 
loader.load(new URLRequest(loader_url)); 
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderDone); 
var sprite:Sprite = this; 
function loaderDone(event: Event):void 
{ 
    event.target.removeEventListener(Event.COMPLETE, loaderDone); 
    loader.x = loader_x; 
    loader.y = loader_y; 
    sprite.addChild(loader); 
} 

回答

0

你是積極的,這個事件並沒有發射?

我最初的想法是,這不是一個Flash問題,而是一個CSS問題。確保你的Flash內容沒有被CSS隱藏,比如CSS重置

我知道沒有瀏覽器的具體問題可以使用Loader或contentLoaderInfo。根據經驗,我真的懷疑你的問題在哪裏。

您可以添加這些其他事件,試圖診斷的AS3錯誤:

loader.contentLoaderInfo.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); 
loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler); 
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); 
loader.contentLoaderInfo.addEventListener(Event.OPEN, openHandler); 
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler); 
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, unLoadHandler); 
+0

感謝您的回覆。 它不是一個CSS問題,因爲它在其他瀏覽器中工作,並且swf加載總是加載,但嵌入的rdio播放器不會出現在Firefox中。 我不完全確定事件沒有解僱,但是我對這個問題還有什麼不瞭解。 – Todd 2012-03-15 02:03:15

+0

因此,在Firefox中,您可以看到父SWF但不是孩子?確保你監聽IO錯誤和安全錯誤,如果完整沒有被觸發,那麼其中一個事件會發生。 – 2012-03-15 02:21:35

+0

再次感謝!對,那是正確的。在Firefox中,我看到了容器(父SWF),但沒有嵌入式音頻播放器。好,很酷。你有沒有例子說明我可以將這些監聽事件添加到我的代碼中?我在動作上不是很有經驗。 – Todd 2012-03-15 02:26:45

0
  1. 總是聽錯誤或異常

    loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,事件。ioErrorHandler) ; loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR,securityErrorHandler);

  2. 收聽事件後調用load()函數。 (不知道是否有太大的差異,但這是一個很好的編程習慣)

    var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loaderDone); loader.load(new URLRequest(loader_url));