Safari/ChromeでJavaScriptからIFrameを印刷するにはどうすればいいですか?質問する

Safari/ChromeでJavaScriptからIFrameを印刷するにはどうすればいいですか?質問する

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 のバージョンでは、多くの人がこの問題を抱えているようです。今すぐにこれを再調査する時間はありませんが、困っている場合は、このスレッド全体のコメントをすべて読むことをお勧めします。

おすすめ記事