谢谢, 丹
答案 0 :(得分:0)
我已经快速查看了您的代码,看起来还可以(无论如何都是actionscript)。 我要说的是尝试不同的嵌入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非常直接。