我試圖編寫一個需要使用Highcharts圖片的JavaScript函數,將其轉換爲畫布,並在本地下載文件圖像(不需要去服務器)。Highcharts:在IE中將本地文件保存爲canvas圖像
我的問題是具體與IE。我嘗試使用Blob和MSBlobBuilder使用msSaveBlob;在第一種情況下,文件下載但內容不正確(打開時圖像已損壞)。
拳代碼使用斑點/ msSaveBlob(see jsfiddle,用IE運行):
var image = canvas.toDataURL("image/jpeg");
if (navigator.msSaveBlob) {
return navigator.msSaveBlob(new Blob([image],{type:"image/jpeg"}),"file23.jpeg");
}
第二代碼使用MSBlobBuilder/msSaveBlob但不生成文件(see jsfiddle,用IE運行):
var image = canvas.toDataURL("image/jpeg");
if (window.MSBlobBuilder) {
var bb = new MSBlobBuilder();
bb.append(image);
return navigator.msSaveBlob(bb, "file24.jpeg");
}
任何想法如何使這些工作?有一種首選的方法嗎?我知道這隻適用於IE10 +。
您的jsfiddle鏈接404還有,你是如何得到從Highcharts SVG畫布? – Mark 2014-10-07 15:19:04
不知道jsFiddle發生了什麼,在這裏你再次去(從highcharts生成的畫布和與msSaveBlob下載的圖像)http://jsfiddle.net/ps0604/u7sxqu2e/1/與IE10運行 – ps0604 2014-10-07 15:53:40
小修覆上面的鏈接http:///jsfiddle.net/ps0604/u7sxqu2e/2/ – ps0604 2014-10-07 16:26:48