日期:2014-05-16  浏览次数:20410 次

IE9 不能显示本地图片问题
一个 file 标签 存放地址 onchange事件的时候 更改 img 标签的 src  = file 的 value 
  测试  360  火狐 都可以 更改图片
 但是IE9  图片并不改变  但是测试里面的代码确实有执行  就是图片死不改变
求解  是不是安全性  还是啥?

------解决方案--------------------
在IE9下,本地图片预览都无法正常显示,经过测试发现,原因在于IE9下无法获取file控件的文件路径。

以前的代码如下:

var strPic = fileImg.value;

if ($.ie && $.browser.version > 6) {
    fileImg.select();
    strPic = document.selection.createRange().text;
    document.selection.empty();

}

如果strPic不为空,则使用滤镜预览。

以上代码在IE 6 7 8均正常使用,在IE9下,document.selection.createRange()拒绝访问,看来安全性有所提高。

最后测试发现,在IE9下,如果file控件获得焦点,则document.selection.createRange()拒绝访问,

因此,只需要在fileImg.select()后面加一句fileImg.blur()即可。