小弟最近遇到了一个问题..
那就是在IE8下打印页面的局部部分...
要打印的内容是在iframe中的...我曾使用了PrintArea的打印,在IE6下是没问题的但是在iE8下Iframe打印空白页面,还有window.print()要不就全部打印,局部打印不好控制...
有没有 哪位知道一个很好的解决方案告诉小弟,急求....

解决方案 »

  1.   

    JS 实现简单的页面局部打印 
    function preview(oper)
    ......{
    if (oper < 10)......{
    bdhtml=window.document.body.innerHTML;//获取当前页的html代码
    sprnstr="<!--startprint"+oper+"-->";//设置打印开始区域
    eprnstr="<!--endprint"+oper+"-->";//设置打印结束区域
    prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //从开始代码向后取htmlprnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//从结束代码向前取html
    window.document.body.innerHTML=prnhtml;
    window.print();
    window.document.body.innerHTML=bdhtml;
    } else ......{
    window.print();
    }}
    使用很简单 将页面内要打印的内容加入中间<!--startprint1-->XXXXX<!--endprint1-->
    再加个打印按纽 onclick=preview(1) 
      

  2.   

    内容是iframe中的,那要取框架的句柄,给iframe取个id号比如aaa,window.frames["aaa"]这就是句柄,然后打印它的全部内容是window.frames["aaa"].print();//如果再想要打印iframe里边内容的局部部分,可以看2楼代码。
      

  3.   

     <style>
            @media print
            {
                .noprint
                {
                    display: none;
                }
            }
            .Printo{background:#f1f1f1;border:1px solid #eeeeee;margin:5px;display:block;float:left;width:300px;}
            .Printo td{padding:3px 5px;}
        </style> <span class="noprint" ><input id="btnPrint" type="button" value="打印座位号"  onclick="window.print()"/>&nbsp;&nbsp;<asp:Button
              ID="Button1" runat="server" Text="导出word" onclick="Button1_Click" /><asp:LinkButton
                  ID="LinkButton1" runat="server" Visible="false">请点击下载</asp:LinkButton></span>
    包在这个 <span class="noprint" ></span>里面的都打印不出来的
    希望能帮到楼主
      

  4.   

    回复2楼..
    你代码打印功能没错的,不过ie8下这样打印iframe中内容是打印不出来的....
    3楼的方法估计可行,2楼+3楼估计就可以实现了,回头实验一下