代码: ie8 提示未指明的错误
<script type="text/javascript" language="javascript"> 
<!-- 
function PreviewImg(imgFile){ 
   
    var newPreview = document.getElementById("newPreview");     
    var imgDiv = document.createElement("div"); 
    document.body.appendChild(imgDiv); 
    imgDiv.style.width = "118px";    imgDiv.style.height = "127px"; 
    imgDiv.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod = scale)";    
    imgDiv.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgFile.value;  错误指向这个地方
    newPreview.appendChild(imgDiv);     
    var showPicUrl = document.getElementById("showPicUrl"); 
    showPicUrl.innerText=imgFile.value; 
    newPreview.style.width = "80px"; 
    newPreview.style.height = "60px"; 

--> 
</script>  <div id="newPreview"></div> 
        <div id="showPicUrl"></div> 
        <hr /> 
        <p> 
            选择图片:<input type="file" size="20" onchange="javascript:PreviewImg(this);" /> 
        </p> 请大侠指教 
 

解决方案 »

  1.   

    这里有一个兼容ie ff的图片预览
    参考一下
      

  2.   

    又是这一个 不好用 我试过了  载入出错 为什么设置imgDiv.filters.item("DXImageTransform.Microsoft.AlphaImageLoader")的src属性就出错呢  是不是我浏览器设置的问题 
      

  3.   

    由于IE8加强了安全性
    1.选择完 文件后,文件控件上可能会显示c:/fakepath/文件名。这样会使你的imgSrc取不到正确的path
    2.由于没有设置受信任的站点,所以滤镜无法显示。这两点都必须手动改客户端。(你可以百度下如何设置)所以让IE8在做这个效果的时候无解。
    除了IE8下,还有chrome也是一样。无法取得文件的真实path
      

  4.   

    imgDiv.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgFile.value; 
    改成
    imgDiv.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = "file:///"+imgFile.value;