存档

文章标签 ‘frame’

如何控制frames的部分打印

2009年12月22日 没有评论

前两天要做一个页面的print button,但是网页是由两个frame构成的,而且其中的一个frame中包含了一个width很大的table,所以每次使用ie打印的时候都会将table的右部截去,但是FF打印的时候会自动缩放,T_T,由此可见ie的劣根性。。。

网上搜索了一下,大概有几种方法可以解决局部打印问题。

  1. 在html里面嵌入<!–start_pirnt–><!–end_print–>标签,然后使用js将要打印的部分取出,然后新打开一个窗口,将要打印的部分送入新窗口,onload事件里面写window.print即可,这样做了以后table就会全打出来了,但是这样做的用户体验不会太好,新开的窗口还需手动关上,但是我看了一下好几个大型网站的做法,在页面布局很复杂的情况下,按下print按钮,先会出来一个print preview的页面,然后再打印,这样也许给了用户适当的选择。
  2. 使用css控制要打印的内容,对不打印的部分加上<div class=”noprint”></div>,对要缩放的table加上id=zoom_table,然后css里面加上@media print{.noprint {display:none;} #zoom_talbe{zoom:70%}},这里要注意的是,zoom这个属性只有ie支持,这样就可以解决部分打印的问题了,自己使用的是第二种方法

这里还要注意的是如果不想把另外一个frame打印出来,则需window.parent.frame_name.print

    分类: 前台设计 标签: , , ,