1
好吧,出于某种原因,我的div打印出它应该在Firefox和Chrome中的方式,但是当我去IE时它不起作用。它只打印div的一页,然后打印页眉和页脚。我试着添加一些新的代码,看看我能否更好地工作,但仍然有问题。当前的代码打印出来很好,但不会继承它们在页面上的样式,而不是在外部样式表中。下面的注释代码是他们之前在那里的。有没有人有任何帮助?在IE中打印div的内容
function buildPrint() {
var sourceDiv = document.getElementById("display_div");
var WindowObject = window.open('', 'print_div', 'width=750,height=650,top=50,left=50,toolbars=no,scrollbars=yes,status=no,resizable=yes');
WindowObject.document.writeln(sourceDiv.innerHTML);
WindowObject.document.close();
WindowObject.focus();
WindowObject.print();
WindowObject.close();
//document.getElementById("print_div").innerHTML = sourceDiv.innerHTML;
//window.print();
}
<asp:Content ID="Content3" ContentPlaceHolderID="BodyPlaceHolder" runat="server">
<div id="display_div">
<asp:CheckBox ID="showAllOptionals" runat="server" Text="Show All Optionals" AutoPostBack="true" />
<asp:Literal ID="mainTable" runat="server" />
</div>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="PrintContent" runat="server">
<div id="print_div" style="page-break-after:avoid;">
</div>
</input><input onclick=\"buildPrint();\" id=\"printBtn\" type=\"button\" value=\"Print\">
根据我的经验,在IE中打印很麻烦。最好在新窗口中打开内容,然后在该新窗口中调用print()。 –
这里有几个链接,你可以看看 http://stackoverflow.com/questions/10203199/generate-print-preview-of-a-web-page-in-asp-net 第二个链接应该允许你做你正在尝试使用JavaScript - http://boardreader.com/thread/print_div_contents_in_javascript_oy3hwX4mzp2.html – MethodMan
这是一个客户端问题,所以请忽略服务器端代码。 –