更改域名后,闪存应用程序是托管的,我应该改变crossdomain.xml文件。该服务器托管在由flash应用程序使用的api- crossdomain.xml上。我发现flash使用浏览器缓存中的crossdomain.xml。有什么技巧可以让闪存不从缓存中获取crossdomain.xml吗?也许有什么参数可以在对象标签中调用flash的时候传递给flash?
发布于 2011-08-17 00:52:19
恼人的问题--毫无疑问。
首先:我喜欢缓存--只要我能控制。这是我如何获得对crossdomain.xml缓存的控制:
比方说,我们有一个flash应用程序,它需要来自不同服务器的一些输入。在我的示例中,我们将其配置为flashvar dataSrc=http://www.company.com/data/calendar.xml
所以闪电侠在找www.company.com/crossdomain.xml ..。它被加载一次,然后从用户浏览器高速缓存中取出,直到他手动刷新它。
解决方案是更改crossdomain.xml所在的子域:
例如,确保(!) noCache.company.com/指向公司的documentRoot。Flashvar被修改为dataSrc=http://noCache.company.com/data/calendar.xml。实际上,您正在处理与以前相同的文件。
Flash正在查找将立即从服务器获取的noCache.company.com/crossdomain.xml ,因为没有该uri的缓存文件。
这取决于你的幻想..。如果你允许像noCache_{numeric_value}这样的子域,你可以通过访问http://noCache_{week_of_year}.company.com/data/calendar.xml很容易地处理你自己的TTL ...
您也可以在每次更改crossdomain.xml时递增该数值。
发布于 2011-09-13 22:25:21
使用以下apache指令指定文件的缓存策略:
<Directory /var/www/mysite>
<FilesMatch "crossdomain.xml">
Header set Cache-Control "max-age=86400, public, must-revalidate"
</FilesMatch>
</Directory>发布于 2011-02-11 23:59:12
如果我不想缓存xml文件,我会将随机数附加到xml文件的末尾。var myXMLURL:String = "myXML.xml?r=“+ Math.random()*1000;
浏览器将其视为不同的文件,例如。myXML.xml?r=645 / myXML.xml?r=239
我不确定这是否适用于crossdomain.xml文件,但应该值得快速尝试一下。
https://stackoverflow.com/questions/4956058
复制相似问题