jQuery printelement函数无法在浏览器中运行

时间:2017-01-19 05:55:00

标签: javascript jquery

我正在使用printelement jQuery。在stackoverflow和其他许多人中搜索资源会找到一些解决方案,但仍无法正常工作。

<script type="text/javascript">
function PrintElem(elem)
{
    Popup($(elem).html());
}

function Popup(data)
{
    var mywindow = window.open('', 'PRINT', 'height=400,width=600');
    mywindow.document.write('<html><head><title></title>');
    mywindow.document.write('<link rel="stylesheet" href="assets/css/neon-theme.css" type="text/css" />');
    mywindow.document.write('<link rel="stylesheet" href="assets/js/datatables/responsive/css/datatables.responsive.css" type="text/css" />');
    mywindow.document.write('</head><body >');
    mywindow.document.write(data);
    mywindow.document.write('</body></html>');

    mywindow.print();
    mywindow.close();

    return true;
}

3 个答案:

答案 0 :(得分:1)

从类似的线程中考虑这个答案

https://stackoverflow.com/a/33735423/3514785

代码看起来像这样:

var divToPrint=document.getElementById('DivIdToPrint');
var newWin=window.open('','Print-Window');
newWin.document.open();
newWin.document.write('<html><body onload="window.print()">'+divToPrint.innerHTML+'</body></html>');
newWin.document.close();
setTimeout(function(){newWin.close();},10);

答案 1 :(得分:0)

多数民众赞成。像$('#divelement').html(yourehtmlcode)一样使用jquery html。

答案 2 :(得分:0)

我认为你的css链接问题,请尝试一下:

<script type="text/javascript">
function PrintElem(elem)
{
    Popup($(elem).html());
}
function Popup(data)
{
    var myWindow = window.open('', 'PRINT', 'height=400,width=600');
    myWindow.document.write('<html><head><title></title>');
    myWindow.document.write('</head><body >');
    myWindow.document.write(data);
    myWindow.document.write('</body></html>');

    myWindow.print();
    myWindow.close();

    return true;
}