伪造iframe的src进行打印以避免“about:blank”

时间:2010-03-02 17:49:51

标签: iframe printing internet-explorer-6 src printing-web-page

我正在创建一个专门用于在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看到它)是关于:空白。有没有办法伪造src或更改在那里打印的内容?我尝试在打印之前设置src,但显然将iframe更改为新页面并打印出来。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

如果没有像你描述的那样提前更改src,你就无法完成这项工作。这是我们正在谈论的IE。这是单个浏览器至少可能支持任何花哨的东西,它可以摆脱不支持。

(虽然,为了记录,我还没有听说过能够在任何其他浏览器中覆盖打印元数据。)

答案 1 :(得分:0)

我找到了一个ActiveX插件,声称你可以动态修改打印输出的页眉/页脚。

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

或者,可以通过从IE6的“文件”菜单转到“页面设置”来永久更改它。但是我试图尽可能避免使用ActiveX插件;我想知道是否有一种简单的方法来通过javascript更改页眉或页脚。还有其他想法吗?