你可以先把 main 里的页面window.open()出来再打印, 
或者 parent.main.document.execCommand('Print');

解决方案 »

  1.   

    关键是如果window.open()出来再打印的话,因为本身被open的内容是从数据库统计的数据,本来就在main框架里显示统计一次了,如果再window.open打开统计又一次效率低了。所以我不建议使用window.open来进行。parent.main.document.execCommand('Print');
    如何使用呀~~
    我想用以上4种按钮都要使用的呀~~。
      

  2.   

    你可以开空窗口然后把main的内容用JS写进去,就不必重复到后台请求了
      

  3.   

    请教如何用js把main的内容写进去?请教代码?
      

  4.   

    使用parent.main.outerHTML就可以获得main中的内容了啊?不知道是不是你想要的。
      

  5.   

    top.main.document.documentElement.outerHTML
      

  6.   

    你用js选择你需要打印的html元素,然后打开新窗口document.write,想打印什么,就write什么进去。然后打印。
    window.open
    document.write
    getElementById
    getElementsByTagName
    innerHTML
    outerHTML
    innerText
    等配合使用。
      

  7.   

    我也遇到与楼住相似的问题。
    就是想直接打印预览(或直接打印)某个frame里的内容。如果直接在frame里布置打印按钮,那么打印的是包含frame的整个页面。
    如何才能只打印打印按钮所在的frame页面了?楼上的几位能不能说清楚点,感觉太模糊关于隐藏打印按钮,这样可以实现:
    加入样式:
    <!--media=print 这个属性在打印时有效--> 
    <style media=print> 
    .Noprint{display:none;} 
    </style> 然后按钮如下:
    <input type=button value="页面设置" onclick=document.all.WebBrowser.ExecWB(8,1) class="Noprint"> 
    <input type=button value="打印预览" onclick=document.all.WebBrowser.ExecWB(7,1) class="Noprint"> 楼住如果搞明白了局部打印frame里的内容,能不能麻烦也告诉我一声:
    我的QQ:17735528
    谢谢
      

  8.   

    我在网上找到一种方法,现在已经可以打印某个框架里的东西,但是有个缺点,不能实现打印预览方法是:
    <input type=button value="打印" onclick=parent.frames['mainFrame'].print() class="Noprint">调用了window的一个方法,直接打印。只要定位到你想要打印的frame就行了。
    该方法对页面设置同样有效:
    还可以在页面中加入“页面设置”按钮:
    <input type=button value="页面设置" onclick=document.all.WebBrowser.ExecWB(8,1) class="Noprint"> 
    哪位兄弟能找到打印预览某个框架里的内容就好了。。期待中。
      

  9.   

    webprint是一个基于表格的页面打印解决方案.先将要打印的数据及样式组织到一个HTML的TABLE元素中, 然后将这个TABLE元素传给webprint,实现分页打印预览,出打印对话框打印和直接打印. 详情参见: www.fcsoft.com.cn
      

  10.   


    parent.frames['mainFrame'].focus();
    再调用web控件打印就可以了