Подделайте src iframe для печати, чтобы избежать about: blank

Я создаю скрытый 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) примерно: blank. Есть ли способ подделать src или изменить то, что там печатается? Я попытался установить src прямо перед печатью, но, очевидно, это меняет iframe на новую страницу и печатает ее. Любые идеи?


person macca1    schedule 02.03.2010    source источник


Ответы (2)


Вы не можете сделать это, не изменив заранее src, как вы описали. Мы говорим об IE. Это единственный браузер, который меньше всего может поддерживать что-нибудь необычное, если бы он не поддерживал.

(Хотя, для записи, я также не слышал о возможности переопределить метаданные печати в любом другом браузере.)

person Matchu    schedule 02.03.2010

Я нашел плагин ActiveX, который утверждает, что вы можете изменять верхний / нижний колонтитул распечатки на лету.

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

Кроме того, его можно изменить навсегда, перейдя в «Параметры страницы» из меню «Файл» в IE6. Однако я стараюсь избегать плагинов ActiveX, если это возможно; Мне интересно, есть ли простой способ изменить верхний или нижний колонтитул с помощью javascript. Есть другие идеи?

person macca1    schedule 02.03.2010