Safari/Chrome で JavaScript 呼び出しを介して IFrame のコンテンツを印刷する方法について、どなたか助けていただけないでしょうか。
これはFirefoxで動作します:
$('#' + id)[0].focus();
$('#' + id)[0].contentWindow.print();
これはIEでは動作します:
window.frames[id].focus();
window.frames[id].print();
しかし、Safari/Chrome では何も動作しません。
ありがとう
アンドリュー
ベストアンサー1
これが私の完全なクロスブラウザソリューションです:
iframe ページ内:
function printPage() { print(); }
メインページ
function printIframe(id)
{
var iframe = document.frames
? document.frames[id]
: document.getElementById(id);
var ifWin = iframe.contentWindow || iframe;
iframe.focus();
ifWin.printPage();
return false;
}
アップデート: 私がこの問題を経験して以降にリリースされた IE のバージョンでは、多くの人がこの問題を抱えているようです。今すぐにこれを再調査する時間はありませんが、困っている場合は、このスレッド全体のコメントをすべて読むことをお勧めします。