我有一个 Flash 电影,其行为如下:
电影加载 > 尝试使用 URLLoader.load() 加载 XML 文件 > 使用 XML 中的数据将一些图像加载到电影中。
要求是在 10 分钟内获取对 XML 文件的更新,因此我在 XML URL 中添加了一个查询字符串参数,该参数是最接近十分钟的时间戳,例如 example.com/source.xml**?nocache =2011-0-6_11-40**
在 IE 和 Chrome 中,这一切都对我有用,在 Firefox 中对我来说也适用于本地。但是,在 Firefox 中的生产服务器 (IIS) 上,会发生以下行为(通过观察 Firebug):
第一次加载:SWF 加载 > 请求的 XML 并加载 > 请求并加载的图像
后续页面加载:SWF 加载 > 无 XML 请求(Firebug 中未显示请求)
Firebug 从第一个成功请求中显示以下有关 XML 文件的信息:
响应标头
Cache-Control max-age=31536000
Content-Length 640
Content-Type text/xml
Content-Location http://www.example.com/portals/0/flash/slider3/list.xml?nocache=2011-0 -6_11-30
Last-Modified Thu, 06 Jan 2011 08:08:12 GMT
Accept-Ranges bytes
Server Microsoft-IIS/6.0
X-Powered-By ASP.NET
ServedBy :9002
Date Thu, 06 Jan 2011 11:38:00 GMT
请求标头主机 www.example.com
用户代理 Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept text/html,application/xhtml +xml,application/xml;q=0.9, / ;q=0.8
Accept-Language en-gb,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
__utma=39412577.29609269.1294313877.1294313877.1294313877.1; __utmb=39412577; __utmc=39412577; __utmz=39412577.1294313877.1.1.utmccn=(直接)|utmcsr=(直接)|utmcmd=(无)
缓存
上次修改时间 2011 年 1 月 6 日星期四 11:38:00 GMT+0000(格林威治标准时间)
上次获取时间 2011 年 1 月 6 日星期四 11:38:00 GMT+0000(格林威治标准时间)
2012 年 1 月 6 日星期五 11:38:00 GMT 到期+0000 (GMT 标准时间)
数据大小 640
Fetch Count 2
设备磁盘
键:http
://www.example.com/portals/0/flash/slider3/list.xml?nocache=2011-0-6_11-10
数据大小:640 字节
获取计数:2
最后修改时间:2011-01-06 11:01:25
过期:2012-01-06 11:01:25
我不明白是什么导致 URLLoader 无法创建出现在 Firebug 中的请求。如果它从浏览器缓存中检索 XML,为什么电影不工作(加载图像等)?