打印整个网页(包括iframe里的内容)的问题

liyuncdc 2009-05-26 03:12:55
我想打印整个网页(包括iframe里的内容),可是当我打印的时候发现,如果iframe里面的内容超过一页,就不能全部打印出来.只能打印一页纸的内容.

请教一下有什么方法打印这一个网页呢?
也就是说,如果iframe里的内容超过一页时,能自动打印余下的部分呢?
谢谢

我的打印的方法是用window.print();
...全文
536 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
renzaijiang 2009-09-10
  • 打赏
  • 举报
回复
<input type=button onclick="window.frames['a'].focus();window.frames['a'].print()">
liyuncdc 2009-09-10
  • 打赏
  • 举报
回复
thanks 14F..但是你这一个只是把iframe里的数据打印出来,而不是打印整个网页
liyuncdc 2009-09-09
  • 打赏
  • 举报
回复
研究了长时间,可是没有什么效果
liyuncdc 2009-09-09
  • 打赏
  • 举报
回复
各位有建议吗?
liyuncdc 2009-05-26
  • 打赏
  • 举报
回复
Thanks for your help..
但是:
10楼你的Print() ,只是用来保证iframe的height等于当前窗口的height,
我的理解对吗?

我刚刚用了
WebBrowser1.ExecWB(6,1);
做打印预览,发现了不关打印机的问题.因为 打印预览的时候,已经在iframe里少了内容.
Go 旅城通票 2009-05-26
  • 打赏
  • 举报
回复
test.html
其他内容
<iframe src="find.html" height="200px" id="find" width="100%"></iframe>其他内容
<script type='text/javascript'>
function Print(){
var d=document.all?frames['find'].document:document.getElementById('find').contentWindow.document;
document.getElementById('find').style.height=d.body.scrollHeight+'px'
}
</script>其他内容<a href="#" onclick="Print()">打印</a>


find.html
1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>
1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>
1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>
1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>1<br/>
liyuncdc 2009-05-26
  • 打赏
  • 举报
回复
对7楼的建议,不明白.
"不过iframe不占一行",,怎样才能做到呢?
iframe的代码不在table里面啊..
liyuncdc 2009-05-26
  • 打赏
  • 举报
回复
可以给出相关的代码来参考吗?
Go 旅城通票 2009-05-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xfsnero 的回复:]
LZ你把iframe的高度设成加载页的全高不就好了
[/Quote]
在打印前把iframe高度重新设置下。。。不过iframe不占一行,打印出来就很难看了。。
liyuncdc 2009-05-26
  • 打赏
  • 举报
回复
<iframe id="frame_content" frameborder="0" name="xmlcontent" src="message/mx/xml.jsp" width="100%" height="100%" scrolling="no"></iframe>
//这就是我的iframe 的代码,而iframe放在<body>里

//这一个js是使iframe没有滚动条

<script type="text/javascript">
function reinitIframe(){
var iframe = document.getElementById("frame_content");
try{
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
var height = Math.max(bHeight, dHeight);
iframe.height = height;
}catch (ex){}
}
window.setInterval("reinitIframe()", 200);
</script>

也尝试了两种打印的方法:
(1)
<object ID="WebBrowser1" WIDTH="0" HEIGHT="0" CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">
</object>
<SCRIPT type="text/javascript">
function print(){
WebBrowser1.ExecWB(6,1);
}

(2)
window.print();

结果都是一样,所有的代码都在IE 6里运行
liyuncdc 2009-05-26
  • 打赏
  • 举报
回复
刚刚查了我的打印机的setting,打印选项里页面范围已经选了全部,但是情况还是一样
liyuncdc 2009-05-26
  • 打赏
  • 举报
回复
THANKS ALL,LET ME TRY TRY SIN..
monexus 2009-05-26
  • 打赏
  • 举报
回复
LZ你把iframe的高度设成加载页的全高不就好了
jasondct 2009-05-26
  • 打赏
  • 举报
回复
我的方法也是设置浏览器和 修改打印设置。
看看别人有没有更好的方法。
帮你顶
xiangtanboy 2009-05-26
  • 打赏
  • 举报
回复
这是打印机设置的问题. 打印选项里页面范围选全部.

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧