4

我使用html2canvas庫來創建表格的png圖像。IE2上的html2canvas和flashcanvas不能正常工作

它適用於Chrome,Firefox和Safari。

的代碼如下:

$('#myTable').html2canvas ({  
    onrendered : function(canvas) {       
     var img = canvas.toDataURL('image/png'); 
     var newWin = window.open('', '_blank','width=500,height=400'); 
     var htmlPage = ""; 
     htmlPage += "<html>"; 
     htmlPage += "<head>"; 
     ... 
     htmlPage += "</head>"; 
     htmlPage += "<body>"; 
     ... 
     htmlPage += "<img src='"+img+"' width='400px'/>"; 
     ... 
     htmlPage += "</body>"; 
     htmlPage += "</html>"; 
     newWin.document.write(htmlPage); 
    } 
}); 

當我打開頁面IE8的頁面無法正常工作。

我看過,我應該使用flashcanvas,所以我增加了flashcanvas庫,並在頁面中添加此行:

<!--[if lt IE 9]>     
    <script type="text/javascript src="../sample/flashcanvas.js"></script> 
<![endif]--> 

所以,當我打開網頁用IE8,圖書館flashcanvas.js被加載!

但問題仍然存在! IE8告訴我:

"The object does not support the property or the method 'toDataURL'" 

任何人都可以幫我嗎?

回答

1

我不知道該canvas元素是如何創建的,但你可能需要做這樣的事情onrendered回調中:

if (typeof FlashCanvas != "undefined") { 
    FlashCanvas.initElement(canvas); 
} 
var img = canvas.toDataURL('image/png'); 
// etc... 

在這裏看到的文檔:http://flashcanvas.net/docs/usage

+0

錯誤是現在不同:<< SCRIPT16389:未指定錯誤。 flashcanvas.js,第24行第56列>> –

+0

看起來像flashcanvas.js文件中的未指定錯誤:) – David