Я создаю скрытый 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 на новую страницу и печатает ее. Любые идеи?