粗茶淡饭


Rome was not built in a day. 生气是拿别人的错误来惩罚自己
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

又见一个古怪的问题——iframe缓存问题

Posted on 2008-10-30 13:10  茶^_^米  阅读(545)  评论(0编辑  收藏  举报

iframe用来在一个网页中嵌入另一个网页,通常用来显示一些时时更新的消息,用来模拟AJAX也行。
最近把它用在一个网页中载入一个留言板,在Firefox下没有什么问题,但到了IE就有麻烦了,留言板中的信息一直都不是最新的,准确地是一直都是主页面打开后显示的留言板中的内容(留言板使用是ASP.net),就是写下了新留言可页面还是老样子没有显示新的留言(单独打开留言板能正常显示),最后花了快三个小时写了一句话搞定问题,昏、实在太没效率,回去面壁思过!
问题的原因在于IE下iframe多半由于性能问题缓存了其中的内容,所以每次提交新留言后都没法显示,至于解决的方式就是使每次打开页面是都使用一个新的路径,对iframe的src进行这样的改变:src="xxx.aspx?"+Math.random() 这样就能使浏览器认为每次打开的都是不同的页面,因而会每次都重新加载而不会加载缓存中的数据。(Firefox就没这问题,好呀,好呀~~~)

http://hi.baidu.com/tgsh/blog/item/591cff197e67187fdab4bdb7.html