在Firefox中没有触发Actionscript加载器事件

问题描述:

我想知道是否有人可以提供帮助,因为我不是一个动作大师。在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); 
} 

你是积极的,这个事件并没有发射?

我最初的想法是,这不是一个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

  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));

此链接可能有帮助,完整的事件有时不会在Firefox上播放。 http://numiko.com/labs/2009/12/flash-event-complete-sometimes-doesnt-fire-in-firefox/