猿问

Javascript仅打印iframe内容

Javascript仅打印iframe内容

这是我的代码


<script>

var body = "dddddd"    

var script = "<script>window.print();</scr'+'ipt>";


var newWin = $("#printf")[0].contentWindow.document; 

newWin.open();

newWin.close();


$("body",newWin).append(body+script);


</script>

<iframe id="printf"></iframe>

这可以,但它打印父页面,我如何让它只打印iframe?


月关宝盒
浏览 1098回答 3
3回答

有只小跳蛙

我不希望这样做试着改为window.frames["printf"].focus();window.frames["printf"].print();并使用<iframe&nbsp;id="printf"&nbsp;name="printf"></iframe>或者尝试好老var&nbsp;newWin&nbsp;=&nbsp;window.frames["printf"];newWin.document.write('<body&nbsp;onload="window.print()">dddd</body>');newWin.document.close();如果jQuery不能破解它现场演示

qq_遁去的一_1

document.getElementById("printf").contentWindow.print();同源政策适用。

不负相思意

简单的方法(在ie7 +,firefox,Chrome,safari上测试)就是这样//id&nbsp;is&nbsp;the&nbsp;&nbsp;id&nbsp;of&nbsp;the&nbsp;iframefunction&nbsp;printFrame(id)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;frm&nbsp;=&nbsp;document.getElementById(id).contentWindow; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frm.focus();//&nbsp;focus&nbsp;on&nbsp;contentWindow&nbsp;is&nbsp;needed&nbsp;on&nbsp;some&nbsp;ie&nbsp;versions &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frm.print(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;false;}
随时随地看视频慕课网APP
我要回答