我正在努力打印没有弹出窗口的 div 标签的内容
我的代码现在看起来像这样
var DocumentContainer = document.getElementById('print');
var WindowObject = window.open('', 'Completed Registration Form', 'width=750,height=650,top=50,left=50,toolbars=no,scrollbars=yes,status=no,resizable=yes');
WindowObject.document.writeln(DocumentContainer.innerHTML);
WindowObject.document.close();
WindowObject.focus();
WindowObject.print();
WindowObject.close();
下面使用弹出窗口,有没有办法不使用弹出窗口呢。
最佳答案
有一种更有效的方法——不用 jQuery 或任何其他库
想法是用一个隐藏的iframe替换窗口,并打印iframe的内容。
代码如下:
function ClickHereToPrint(){
try{
var oIframe = document.getElementById('ifrmPrint');
var oContent = document.getElementById('divToPrint').innerHTML;
var oDoc = (oIframe.contentWindow || oIframe.contentDocument);
if (oDoc.document) oDoc = oDoc.document;
oDoc.write('<head><title>title</title>');
oDoc.write('</head><body onload="this.focus(); this.print();">');
oDoc.write(oContent + '</body>');
oDoc.close();
} catch(e){
self.print();
}
}
这认为您的页面中有一个 iframe。如果您不这样做,只需使用以下方法创建一个:document.createElement('iframe')
关于javascript - 在 Javascript 中打印没有弹出窗口的 div 标签的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5089434/