Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何动态打印iFrame_Javascript_Jquery - Fatal编程技术网

Javascript 如何动态打印iFrame

Javascript 如何动态打印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)

Javascript

 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 */
    }