2011-12-10 57 views
0

我正在使用JavaScript FileReader類在將圖像上載到服務器之前預覽圖像。一切似乎都可以在Firefox和Chrome上正常工作,但由於某些原因,它似乎不適用於IE。FileReader JavaScript類不與IE一起工作

以下是我的代碼。 (這是CakePHP的框架)

有沒有辦法我們可以解決這個問題,所以它也可以在IE中使用?

<script type="text/javascript"> 
      function imageBack(input) { 
      if (input.files && input.files[0]) { 
       var reader = new FileReader(); 
       reader.onload = function (e) { 
        $('#uploadBackImage').attr('src', e.target.result); 
        $('#cardbackImagePath').attr('value',e.target.result); 
       } 
        reader.readAsDataURL(input.files[0]); 
       } 
      } 
     </script> 
<input type="file" name="data[Card][uploadBack]" class="file" onchange="imageBack(this);" width="240" height="150" id="CardUploadBack"> 
+3

IE有點含糊。你遇到什麼版本的IE? – mdominick

+0

由於IE瀏覽器不是瀏覽器o如果它的IE瀏覽器<9甚至不考慮FileRader –

+0

所有IE版本...... –

回答

12

在IE中,你應該使用ActiveXObject因爲IE是不是瀏覽器

+0

感謝您的回答Norbert,有沒有一個很好的使用ActiveXObject和Javascript來實現圖片預覽的例子? –

+4

Norberg,好評「IE不是瀏覽器」;)我真的同意你的意見! +1 – Radislav

1

的FileReader是一個相對較新的JavaScript和,因爲Internet Explorer是舊的,不支持它。 Internet Explorer 7/8根本不支持它,IE9只支持部分脫機存儲。但是,Internet Explorer 10將獲得早期支持。我只是在那裏貼一條消息,讓IE用戶告訴他們(當然,有禮貌地)要得到一個真正的瀏覽器。

+0

信息反應的人,歡呼聲。 – Daft