IE下页面读取图片问题

来源:百度文库 编辑:神马文学网 时间:2024/05/23 20:24:28
前两天的写东西时候出现这么一个问题。图过ajax提交请求到后台去读取一个类别下的图片列表的时候发现在Firefox下是没有问题。可以完全正常读取出来。而在IE下的时候却出现了问题。症状就是随机情况出现可以全部图片都正常读取,或者只有一部分图片可以正常显示。其实图片的src什么的都已经返回了。就是无法显示。必须要用鼠标右键选择显示图片才能正常显示。问了问周围的朋友也没有出现过如此的情况。后来一个朋友根绝我的描述帮忙从网上搜索的时候找到了一个文章来介绍IE的一个缓存策略的bug。这个bug更多体现在图片读取显示上。
在根据文章作者给出的一个老外写的更为详细的该bug的描述发现症状完全跟我的一样。使用HTTPWATCH跟踪后发现果然图片返回的结果很多都有问题。根据那个老外的研究结果是在javascript使用ajax请求的时候ie没有等待数据完全返回所以忽略了部分数据。于是乎检查我的代码的时候发现果然,我在最开始的时候创建请求的时候在是否异步的参数哪里写的是false。也就是说当数据完全返回后才会继续执行,但是正是由于ie的这个缓存策略的bug导致了这种情况的发生。特别图片数量请求越多越明显。
将参数改为true以后ie和firefox就都正常了。然后随手又把GET还是POST提交的方式也同意成了POST。于是firefox下又出现了问题。后台提示参数过长。上网又搜索发现是resin的问题。于是只好再在js中写了一个判断浏览器的方法。来根据返回值判断是使用POST还是GET方式提交才完全解决了异步请求图片的问题。