我不知道这是否可行,但我有一个SWF文件,我希望它只从xml文件中获取信息一次,然后将其存储(保留),直到"更新"数据将推进其中
我知道这听起来很愚蠢,但也许有一个我不知道的解决方案......
1)我不想每次加载xml因为我们拥有大量的流量(很多......每次从亚马逊s3刷新都会花费很多)
但是如何在不检查外部xml文件的情况下获取更新的数据?
2)如果有一种方法可以向swf广播(到#34; ping")xml的更新已准备好加载....
如果有什么我相信应该有一个AS3脚本。
谢谢!
答案 0 :(得分:0)
但是如何在不检查外部xml文件的情况下获取更新的数据?
您可以实施数据文件版本控制。例如:urlToXmlData + "?version=" + myCurrentVesion
只要您发布带有扩展数据的应用程序的新版本,它就会起作用。它是全球解决方案,因此您产品的每个新版本都可以使用最新数据。
对于ping
,您可以创建更新策略,例如:链接有效期为1天。想法是相同的,连接链接的东西,所以浏览器会将其评估为新的:urlToXmlData + "?stamp=" + timestampForToday
明天将是另一个时间戳,浏览器将下载更新版本。
答案 1 :(得分:0)
使用第二个xml,其中包含版本xml
答案 2 :(得分:0)
我认为你没有得到真正的主题。
您无法在不使用任何外部更新平台的情况下更新Flash项目。
由于"每个数据的mb限制"无法将所有新的XML数据保存到共享对象,因此,当应用程序关闭时,flash将删除所有已加载的数据。
您无法进行" permament更新"闪存中的大文件" ...
BUT
您可以使用" EMBEDDED XML"更新主swf文件。文件。只有在应用程序关闭时才能更新数据。
但这还不够,还需要一个"预先检查SWF的版本"文件,这就是你无法独自完成的事情。你需要一个具有这种方式的网络平台。
Mochi"实时更新"提供这个,但我无法使它工作。但是mochi现在关闭了......所以忘了它......
答案 3 :(得分:0)
我知道你的XML很大,你想保存流量。 但小电话怎么样?
您可以通过电话获取存储在服务器上的xml的MD5。 类似的东西:myserver.com/getMD5
一旦服务器返回的md5与您已存储的md5不同,则重新加载xml并保存新的MD5。