1

IE6での印刷に使用するために特別に非表示のiframeを作成しています。

HTMLの母集団を切り取ったコードの基本的な概要は次のとおりです。

$('body').append('<iframe id="printIFrame"></iframe>');

$("iframe#printIFrame").attr('style','position:absolute;width:0px;height:0px;left:-500px;top:-500px;');

$("iframe#printIFrame").load(function()
{
    document.getElementById("printIFrame").contentWindow.document.title = "My Title";

    var iframe = document.getElementById("printIFrame");
    iframe.contentWindow.focus();
    iframe.contentWindow.print();

    $("iframe#printIFrame").remove();
});

これは、印刷された各ページの左下に表示される醜い「about:blank」を除いて、非常にうまく機能しています。私はこのiframeをオンザフライで作成しているので、ソースは(IE6が見ているように)about:blankです。srcを偽造したり、そこに出力されるものを変更したりする方法はありますか?印刷する直前にsrcを設定しようとしましたが、明らかにiframeが新しいページに変更されて印刷されます。何か案は?

4

2 に答える 2

0

あなたが説明したように、事前にsrcを変更せずにこれを行うことはできません。これが私たちが話しているIEです。これは、サポートしないことでうまくいく可能性のあるものをサポートする可能性が最も低い単一のブラウザーです。

(ただし、記録として、他のブラウザーでも印刷メタデータをオーバーライドできるとは聞いたことがありません。)

于 2010-03-02T17:52:31.237 に答える
0

プリントアウトのヘッダー/フッターをその場で変更できると主張する ActiveX プラグインを見つけました。

http://www.meadroid.com/sx_intro.asp

または、IE6 の [ファイル] メニューから [ページ設定] に移動して、永続的に変更することもできます。ただし、可能であれば ActiveX プラグインを回避しようとしています。JavaScript を使用してヘッダーまたはフッターを変更する簡単な方法があるかどうか疑問に思っています。他のアイデアはありますか?

于 2010-03-02T20:42:44.507 に答える