Javascript 如何动态打印iFrame
JavascriptJavascript 如何动态打印iFrame,javascript,jquery,Javascript,Jquery,Javascript function printDiv() { var k=document.getElementById("printDiv"); var el = document.createElement("iframe"); el.setAttribute('id', 'ifrm'); el.setAttribute('src', k.innerHTML)
function printDiv() {
var k=document.getElementById("printDiv");
var el = document.createElement("iframe");
el.setAttribute('id', 'ifrm');
el.setAttribute('src', k.innerHTML);
el.print();
}
HTML:
<div id="printDiv">
<!-- content Here -->
</div>
<input type="button" value="Print" onclick="printDiv()"/>
代码不起作用。我没有得到任何打印对话框。请帮助我,因为我想使用动态Iframe打印数据。谢谢。iframe需要对焦,否则它仍将在IE中打印父帧
function printIframe(id)
{
var iframe = document.frames ? document.frames[id] : document.getElementById(id);
var ifWin = iframe.contentWindow || iframe;
iframe.focus();
ifWin.printPage();
return false;
}
替换el.print()代码>带有
window.frames.focus();
window.frames.print();
在JQuery中
function printDiv() {
$('#printDiv').empty().append('<iframe id="ifrm"></iframe>');
$('#ifrm').attr('width', '300px');
$('#ifrm').attr('heigh', '300px');
$('#ifrm').attr('src', 'http://www.amazon.in')
window.frames.focus();
window.frames.print();
}
函数printDiv(){
$('#printDiv').empty().append('');
$('ifrm').attr('width','300px');
$('ifrm').attr('heigh','300px');
$('ifrm').attr('src','http://www.amazon.in')
window.frames.focus();
window.frames.print();
}
小提琴演示
HTML
<iframe name="print_frame" width="0" height="0" frameborder="0" src="about:blank">
</iframe>
这个功能应该可以正常工作
function printInFrame( UrlReport) {
function closePrint() {
document.body.removeChild(this.__container__);
}
function setPrint() {
debugger;
this.contentWindow.__container__ = this;
this.contentWindow.onbeforeunload = closePrint;
this.contentWindow.onafterprint = closePrint;
this.contentWindow.focus(); // Required for IE
this.contentWindow.print();
}
var oHiddFrame = document.createElement("iframe");
oHiddFrame.onload = setPrint;
oHiddFrame.style.position = "fixed";
oHiddFrame.style.right = "0";
oHiddFrame.style.bottom = "0";
oHiddFrame.style.width = "0";
oHiddFrame.style.height = "0";
oHiddFrame.style.border = "0";
oHiddFrame.src = UrlReport;
document.body.appendChild(oHiddFrame);
}
/* #endregion */
}
是否正在使用printPage插件?否。。简单JavaScript
function printInFrame( UrlReport) {
function closePrint() {
document.body.removeChild(this.__container__);
}
function setPrint() {
debugger;
this.contentWindow.__container__ = this;
this.contentWindow.onbeforeunload = closePrint;
this.contentWindow.onafterprint = closePrint;
this.contentWindow.focus(); // Required for IE
this.contentWindow.print();
}
var oHiddFrame = document.createElement("iframe");
oHiddFrame.onload = setPrint;
oHiddFrame.style.position = "fixed";
oHiddFrame.style.right = "0";
oHiddFrame.style.bottom = "0";
oHiddFrame.style.width = "0";
oHiddFrame.style.height = "0";
oHiddFrame.style.border = "0";
oHiddFrame.src = UrlReport;
document.body.appendChild(oHiddFrame);
}
/* #endregion */
}