HTML5 input file 打開很慢的問題

開發中遇到了這樣一個問題

我們在代碼中使用了HTML5的input[file]標籤去上傳圖片

<input type="file" name="file" class="element" accept="image/*">

同時,在上面代碼中,使用了 accept=”image/*” 去過濾所有非圖片的文件。

但是,在最新版本的chrome(52.0.2743.116 (64-bit))中,出現了一個很奇特的問題。

點擊input之後,會有一定概率出現文件選擇框彈出非常慢的問題,正常情況下,不到1S就能彈出文件選擇框。但是慢的時候,可能達到7 ~ 10秒。

對屬性進行逐一排查後,發現是accept=”image/*”的問題。

將accept=”image/*”改爲指定的圖片格式就不會出現上述的概率性問題,所以我將上傳圖片的過濾格式指定爲了常用的幾種格式

<input type="file" name="file" class="element" accept="image/jpg,image/jpeg,image/png">

當然,如果希望過濾所有的非圖片格式,那麼這個問題還是會存在。原因初步猜想是當設置accept=”image/*”時,瀏覽器會在彈出框中處理所有的非圖片元素,包含所有的圖片格式,如果文件較多會增加處理時間,而這個時候可能在這個版本的chrome中有bug(也許是底層沒實現好),導致概率性時間增長。

原文出處:http://www.foreverpx.cn

轉載請註明出處。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章