2014-03-28 58 views
0

嗨,我有個小問題,你可以幫我請jQuery的上傳不IE9工作

HTML部分

<input type="file" id="browse" name="browse" size="" placeholder="Photo" checked="checked" class="upload"/> 
<input type="button" onclick="javascript:onbrowse()" class="unknown" value="test"/> 
<div class="qaq"></div> 

CSS部分

.unknown, .qaq, .qaq img { 
    width: 200px; 
    height: 200px; 
} 

腳本部分

$(".upload").change(function() { 
    var fileObj = this, 
     file; 

    if (fileObj.files) { 
     file = fileObj.files[0]; 
     var fr = new FileReader; 
     fr.onloadend = changeimg; 
     fr.readAsDataURL(file) 
    } else { 
     file = fileObj.value; 
     changeimg(file); 
    } 
}); 

function onbrowse() { 
    document.getElementById('browse').click(); 
} 

function changeimg(str) { 
    if(typeof str === "object") { 
     str = str.target.result; // file reader 
    } 

    $(".unknown").css({"background-size": "100px 100px", 
         "background-image": "url(" + str + ")"}); 
    $(".qaq").append("<img src='"+str+"' />"); 
} 

jsfiddle示例

http://jsfiddle.net/wU3Vu/

在IE9

中不顯示圖片,如果你添加一些圖片上傳。

但在其他瀏覽器中,它工作正常...請幫助。

感謝

回答

0

fileObj.value返回文件系統路徑。它不能被設置爲圖像的src屬性。

更多詳細信息: 在其他瀏覽器中,它的工作原理是因爲它們支持HTML5 FileAPI功能http://caniuse.com/#feat=fileapi。正如你可以看到IE9不支持這一點,並不能訪問客戶端的文件。

+0

它可以在其他瀏覽器上完美工作,您可以測試它 –