code up

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[excanvas] IE + Windows XPで印刷できない! + FlashCanvas

Windows XPのIE8でexcanvasで描いた図が印刷できない問題があった。Windows 7/8のInternet ExplorerのIE7モードだとcanvasに描いた図が印刷できる。

結論から言えば、次のCSSを印刷用に設定することで解決。

<style type="text/css" media="print">
canvas div ~ div {
	display: none !important;
}
</style>

excanvas.jsのリビジョンが71になった際、canvasの上にオーバーレイが追加になってそれが印刷の邪魔をしていたみたい。

FlashCanvas

この解決策が見つかる課程で、最悪canvas polyfillを乗り換えるつもりでFlashCanvasも試してみたのだが、次の理由でFlashCanvasは(現在の画面構成には)合わないと判断した。

  • 今回の問題であった印刷は、問題なくできた
  • レイヤー(canvasタグ)数が100を超えたあたりでパフォーマンスが極端に落ちる。画面が表示されるまでに数分かかり、応答なし、の状態となることもしばしば
  • 上記と関連するのだと思うが、基本canvas同士を重ねることができない模様。canvasの上にcanvasを重ねて描画してもうまく表示できず、canvasの上にabsoluteなdivを置いても、反応しなかった。HTML5 canvas のパフォーマンスの改善に書いてあることを実践したかったが、FlashCanvasだと厳しい印象

今のところ(きっと今後も)canvasのpolyfillはExplorer Canvas(excanvas)一択かなーと。

関連記事
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。