我快速浏览了您的代码,看起来还可以(无论如何都是动作脚本)。我要说的是尝试嵌入 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 非常简单。