1

我正在创建一个隐藏的 iframe,专门用于在 IE6 中打印。

以下是删除了一些 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 所见)是关于:空白。有没有办法伪造 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 回答