html2canvas ライブラリを使用して、テーブルの png 画像を作成します。
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'"
誰でも私を助けることができますか?