2009-11-19 106 views
5

IE问题让我完全陷入困境。我有一个ColdFusion页面,它使用JQuery的AJAX .load函数加载由coldFusion的cfchart标记生成的新Flash文件。这在firefox中完全正常:新的Flash文件和新的html元素加载。然而在IE中:除了在IE中运行ajax调用之后Flash对象和嵌入标记完全不显示之外,所有用flash对象生成的html元素都被加载。在看了Fiddler之后,Flash应用程序类型响应数据甚至不会显示在IE中。它适用于Firefox。JQuery的AJAX .load - 闪存图表不加载在IE中

我想也许它与任何一种媒体有关,所以我改变了图表类型输出为jpg文件而不是flash。它在IE中加载完全正常。所以有些东西阻止IE接收Flash响应数据。

这里是我到目前为止已经完成 - 而且至今没有运气:

  • 添加到HTML头:<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"><META HTTP-EQUIV="EXPIRES" CONTENT="01 Jan 1970 00:00:00 GMT"><META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
  • 添加随机GET varaible名称与一个随机值调用URL
  • 将ajax方法从GET更改为POST
  • 将ajax retreival方法更改为缓存设置为false的.ajax。

任何建议或见解将不胜感激。谢谢你提前谢谢!

回答

2

您是否试过将jQuery的$.ajax“cache”选项指定为false? IE缓存非常积极(我已经看到它的缓存.jsp文件。),所以我不知道jQuery是否知道如何解决这个本地。

+0

没有运气。在AJAX调用中使用Flash文件生成的HTML元素显示正常 - 仅仅不是Flash文件...我甚至用随机值添加了随机GET变量,因为我听说这可能会修复它,但也没有工作。 – GavinWoods 2009-11-19 23:00:44

0

由于某些原因,尽管我没有调查足够的信息以确定它是什么,但是当应用于Flash对象时,jQuery加载甚至.show()将在IE中静默失败。

有一个jQuery插件,能够动态地加载闪存,虽然 - http://jquery.thewikies.com/swfobject/

应该为这个应用程序。