1

非常新的闪存。我正在使用 XSPF 音乐播放器(在这里找到的苗条版本 ( http://musicplayer.sourceforge.net/ ),用 AS2 编写)来播放网站上的 mp3 列表。每次加载曲目时我都需要进行 javascript 调用。我试图通过 ExternalInterface 来做到这一点,但到目前为止还没有运气。这是我的设置:我正在一台 linux 机器上编写站点,该机器也装有测试服务器,但在 windows 中编辑 flash。我正在使用 firefox 3.0.10 在同一个 linux 机器上测试该站点。html 和 actionscript 发布在这里(http://pastebin.com/f36b1da0e)。有人看到我的代码有什么问题吗?关于为什么它不起作用的任何想法?我觉得这是我的基本设置中的东西......

谢谢,丹

4

1 回答 1

0

我快速浏览了您的代码,看起来还可以(无论如何都是动作脚本)。我要说的是尝试嵌入 swf 的不同方法。很久以前(所以我不记得所有细节了),但我正在用不同的浏览器测试外部接口,有时它可以在 IE 中工作,但不能在 Firefox 中工作,如果我尝试嵌入 swf 的不同方法,它会工作在firefox 但不是 IE 或只是 IE 6 而不是 7!

这很烦人。无论如何,我发现当时在两个主要浏览器中都有效的唯一方法(chrome 已经过时)是使用发布应用程序时从 flexbuilder 创建的 HTML。当然,我确实必须对其进行一些修改(因为我们使用 cocoon 和 xsl),但它确实有效。

(从那以后我认为swfobject已经改进了,如果我是你,我也可以试试)

我已经在http://pastebin.com/f79b5b3f3上发布了来自 flexbuilder 的 HTML 模板它需要 AC_OETags.js 文件 ( http://pastebin.com/f3937a336 ) 和 playerProductInstall.swf (您可能需要下载 flexbuilder得到这个)。


下面的评论代码

<mx:HTTPService id="mySerivceCall" 
    url="{'myPHPFile.php'}"
    result="resultHandler(event)" 
    fault="faulthandler(event)"
    showBusyCursor="false" 
    resultFormat="e4x"> 
    <mx:request>
        <time>{new Date().getTime()}</time>
    </mx:request>
</mx:HTTPService>

我总是将时间添加到 httpservice,确保它不会被缓存(IE 非常不擅长)。只需将任何其他参数粘贴到请求部分,结果格式只会告诉 flex 结果是 e4x 格式的 XML,这使得处理 XML 非常简单。

于 2009-05-15T08:14:09.857 回答