打印div元素不适用于IE?

时间:2013-08-26 16:33:52

标签: javascript jquery asp.net

我有一个动态div类。 div中的元素通过后端ajax Web服务请求动态填充。 : -

<div class="hidden">

       <asp:Button ID="Button1" runat="server" 
        Height="23px" style="margin-top: 0px" Width="69px" text="Print" OnClientClick="PrintElem('#hidden'); return false;"/>
</div>

在这个div类中,是一个动态填充的元素列表。 我正在尝试使用此div类中的打印按钮来打印所有元素。

function PrintElem(elem) {
            Popup($(elem).html());
        }

        function Popup(data) {
            var mywindow = window.open('', '.hidden', 'height=400,width=600');
            mywindow.document.write('<html><head><title>Pharmacy List</title>');
            /*optional stylesheet*/ //mywindow.document.write('<link rel="stylesheet" href="main.css" type="text/css" />');
            mywindow.document.write('</head><body >');
            mywindow.document.write(data);
            mywindow.document.write('</body></html>');

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

           return true;
        }

* 这适用于除IE以外的所有Web浏览器。 *

1 个答案:

答案 0 :(得分:5)

这是我用来打印DIV内容的代码,它在IE中工作正常,

    function printPartOfPage(elementId) {
        var printContent = document.getElementById(elementId);
        var windowUrl = 'Job Receipt';
        var uniqueName = new Date();
        var windowName = 'Print' + uniqueName.getTime();
        var printWindow = window.open(windowUrl, windowName, 'left=50000,top=50000,width=0,height=0');
        printWindow.document.write(printContent.innerHTML);
        printWindow.document.close();
        printWindow.focus();
        printWindow.print();
        printWindow.close();
    }

请尝试此代码