最新版本的XML虽然在IE中运行正常,但未在Firefox中加载

时间:2009-04-27 09:31:08

标签: xml firefox actionscript-2

我正在使用AS2。我在电影中加载了一个XML文件。不知何故,XML文件被加载。现在。如果我更改XML文件,最新的XML文件不会出现在FireFox中,而lates XML文件会出现在IE中。 任何人都能说出问题是什么

2 个答案:

答案 0 :(得分:1)

清除缓存?

答案 1 :(得分:0)

进一步说,你需要确保将来不会出现这种情况 - 也就是说,这次你清除缓存之后......

有几种方法:

  1. 使用附加到文件位置的“cache-buster”字符串 - 例如
    ./data.xml?nocache=010920091407
    您使用Date对象动态生成nocache的值。这没关系,但意味着XML 永远不会被缓存,因为每次加载flash时,nocache值都会改变。
  2. 动态生成XML内容 - 即调用
    ./data.php
    与上述相同的问题:内容从不缓存,但重新加载每个页面视图
  3. 更好:“自动转发”
    1. 使用PHP改变文件的路径
      ./data.xml
      变成了
      ./data.010920091407.xml
      其中010920091407是文件的filemtime值(即上次更新时)
    2. 在嵌入时通过flashvars将此值传递到您的Flash应用程序。
    3. 使用mod_rewrite规则(例如在.htaccess文件中)使用此命名约定转换文件的路径:
      RewriteRule ^(.+)\.(.+[0-9])\.(js|css|swf|xml)$ $1.$3
      剥离
      .010920091407
      并在
      ./data.xml
      返回文件,但浏览器认为它正在加载新文件。 现在,您可以保证用户每次更改时都会加载新版本的文件,但如果没有,则从缓存中加载。 (你会看到我在这里告诉它对我通常需要保证更新的任何文件执行此操作:* .js,* .css和* .swf)
    4. (显然这是假设LAMP服务器,但在任何堆栈下的原理是相同的)

      更新:这里有一个有用的教程:
      http://particletree.com/notebook/automatically-version-your-css-and-javascript-files/
      这里有一个更深入的问题:
      http://www.ejeliot.com/blog/125