首页 > 解决方案 > window.print() 在同一个窗口与新窗口

问题描述

有人能帮忙吗 。

案例1:在同一个窗口打印。

var restorepage = $('body').html();
var printcontent = 
$('#ctl00_WebPartManager_BlankWP0_CanvasControl_Canvas').clone();

$('body').empty().html(printcontent);
window.print();
$('body').html(restorepage);

输出:这对我来说是完美的,唯一的事情是在我恢复原始控件之后它们似乎不起作用。所以我正在尝试使用新窗口打印相同的内容。

案例 2:在新窗口中打印

    var w = window.open();
    var printcontent = $('#ctl00_WebPartManager_BlankWP0_CanvasControl_Canvas').clone();
    $(w.document.body).empty().html(printcontent);
    w.focus();
    w.print();
    w.close();

输出:图像重新对齐,甚至图像丢失。我需要 Case1 输出,但在一个新窗口中,所以原始窗口没有被修改。 在此处输入图像描述

标签: javascriptjqueryhtml

解决方案


您需要创建一个包含所有 css 引用的局部视图,然后在新窗口中克隆对象,或者您可以在同一页面中创建 iFrame 或对话框...


推荐阅读