2012-06-13 27 views
3

我正在嘗試使用作爲數據URI發送的AJAX加載圖像。一切正常,只要圖像是< 32kb。一些圖像的大小在500kb左右。我做了一些研究,發現IE8只支持使用datauri加載的圖像< 32kb。在javascript中使用數據渲染圖像

是否有任何解決方法來加載大於32kb的圖像或我在這裏丟失了什麼?

+0

我認爲你的目標是IE8? –

+0

那是正確的。我瞄準IE8。 – Asdfg

+0

可能的重複[如何解決IE8 32k數據限制:uri上base64編碼?](http://stackoverflow.com/questions/3586749/how-to-get-around-ie8-32k-limit-on- datauri-on-base64-encode) – epascarello

回答

3

Data URI scheme

的Internet Explorer 8:微軟已經限制了其支持某些 「非通航」的內容出於安全原因,包括擔心 的JavaScript嵌入在數據URI可能無法通過腳本 是解釋過濾器,如基於Web的電子郵件客戶端使用的過濾器。 數據URI必須 小於32 KIB在版本8 [3]數據URI僅用於以下元件支撐 和/或屬性:[4]

  • 對象(僅圖像)
  • IMG
  • 輸入類型=圖像
  • 鏈路(數據URI必須base64編碼)
  • CSS聲明接受一個URL,諸如背景圖像,背景, 列表樣式類型,列表樣式和類似。

Internet Explorer 9:Internet Explorer 9沒有32KiB 限制並允許在更廣泛的元素中使用。

+3

我知道這部分,我去了維基百科上的文章。我正在尋找解決方案或解決方法。 – Asdfg

-1

您可以將圖像數據加載到畫布元素中。
對於IE8你應該看看How can I use the HTML5 canvas element in IE?

+0

需要永久加載圖像。 IE停止響應並要求停止運行該腳本。 :( – Asdfg

+0

Canvas元素不支持和IE。所以這不是一個解決方案 – dude

+0

@julmot'canvas'元素[在版本9以後支持IE](http://caniuse.com/#search=canvas)。對於IEv8我已經添加了一個解決方法的鏈接(並且任何低於IE8的東西都不應該受到任何人的支持)所以downvote是不合理的:: – Andreas

0

是,使用一些技巧commentring爲它服務的MHTML,描述herehere