1

私はjavascriptで新しいウィンドウを作成し、次を使用してその内容を書いていますdocument.write():

var windowContent = '<!DOCTYPE html>';
windowContent += '<html>'
windowContent += '<head><title></title></head>';
windowContent += '<body>'
windowContent += '<img src="' + dataUrl + '" width="670px" style=">';
windowContent += '</body>';
windowContent += '</html>';
var printWin = window.open('','newWindow','width=100,height=100');
printWin.document.open();
printWin.document.write(windowContent);
printWin.document.close();
printWin.focus();
printWin.print();
setTimeout(function() {
  printWin.close();
}, 100);

ほとんどのブラウザーではこれで問題なく動作しますが、Safari 6.0.2 では、この行printWin.document.write(windowContent);によってブラウザーがクラッシュすることがあり、何も実行されずに空白のウィンドウが表示されることもあります。

代わりに使用する必要がある代替手段はありますdocument.write();か? グーグルによると、一般的なアドバイスは を使用するようdocument.body.appendChild();ですが、ドキュメントには最初に追加するコンテンツがありません。

4

0 に答える 0