我正在使用Flash CS3,目标是ActionScript2,并且我正在编写一个图像预加载器。当我在打开下载模拟的情况下测试电影时,一切正常,我的预加载器成功地更新了我的下载进度条。当我将电影上传到我的web服务器时,它的行为几乎就像MovieClipLoader.onLoadProgress事件直到上传结束才被触发,因为电影在那里下载了几秒钟,没有任何通知,然后突然有了活动,我的预加载程序很快就从0到100%。以前有人遇到过这种行为吗?如果是这样的话,我做错了什么?
发布于 2008-09-19 12:58:14
我建议使用像Charles (http://www.charlesproxy.com/)这样的调试代理来查看文件是如何从您的服务器下载的(例如,下载开始之前是否存在高延迟,传输数据实际需要多少秒)。这样,您可以更好地了解预加载器是否准确地反映了从服务器传输的数据。
发布于 2008-09-19 13:31:44
你有没有在不同的浏览器上试过?我相信,至少在某些情况下,Flash会使用浏览器下载文件。有可能Firefox在没有通知Flash的情况下下载文件,然后在一个大的突发中将其全部发送到flash。我还没有见过FF自己这样做,但它可能是一个扩展拦截下载。
我认为我以前唯一一次看到这样的突破性进展是在我得到一个缓存副本而不是重新下载的时候。但是,既然你看到的是实际的下载,我猜这不是你要得到的。
在IE中尝试一下,看看你是否得到了相同的行为。
发布于 2008-09-19 13:19:29
谢谢你的快速回复,马特。我以前从未听说过Charles,但它似乎是一个令人难以置信的强大工具。出于我的目的,我还可以在Firefox中使用Firebug的Net工具查看文件的get请求和进度。Charles和Firebug都显示图像正在被成功请求和下载,并且在flash电影出现响应并更新加载栏/fire onLoadProgress之前几秒钟完成了所有图像。
https://stackoverflow.com/questions/101578
复制相似问题