35
我正在寫一個Chrome擴展其執行以下操作:「喔唷,崩潰」當數據URI太大
- 下載總數使用
XMLHttpRequest
- 從一個網站到存儲器中的文件添加額外的數據到文件,然後base64將結果編碼到變量
total_encoded_data
- 使用
<a href=data:application/octet-stream;charset=utf-8;base64,' + total_encoded_data+' download='file.bin'>Click to Download</a>
將數據提供給用戶。使用jQuery將total_encoded_data
添加到href中。
我發現,通過手動二進制搜索,如果total_encoded_data
的大小大於2097100個字符,那麼當點擊鏈接時,我會得到一個Aw,Snap消息。如果尺寸較小,那麼我可以按預期下載。
除了測試文件大小之外,我還使用atoi
來確保base64編碼是有效的,並且其運行沒有錯誤。
的AW,捕捉消息不會產生任何chrome://crashes
崩潰報告,也沒有在chrome_debug.log
如何服務於數據的URI,其中base64編碼串長度是當我避免的Aw,捕捉消息的任何意外的輸出大於2097100?
3.5年後...仍然沒有修復。上帝該死的,Chrome。 – kangax
大約7年後......並解決了blob網址技巧的同一個老問題! – aBertrand
差不多八..這很傷心.. –