本人项目使用div层中镶嵌的iframe来布局,

<div>
   <div >
       <!--其他的代码-->
   </div>
   <div >
       <iframe src=""  id="m1" name="m1" scrolling="yes"></iframe>
   </div>
   <div >
       <iframe src=""  id="m2" name="m2" scrolling="yes"></iframe>
   </div>
<div >
       <!--其他的代码-->
   </div>
<div>其中我想只打印m2里面的内容,但是每次他把整个页面全部都打印了
我的代码,打印按钮全部是写在m2中的,大大们帮看看该如何设置,或者有其他好的打印方式
第一种方法是用的WebBrowser写的
<object id="WebBrowser" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" height="0" width="0">
     </object>
<ul>
               <li>
                   <asp:Button ID="ActionPrint" runat="server" Text="打印" OnClientClick="document.all.WebBrowser.ExecWB(6,1)"  CssClass="bntStyle" />
                </li>
                <li>
                   <asp:Button ID="Print" runat="server" Text="直接打印" OnClientClick="document.all.WebBrowser.ExecWB(6,6)"  CssClass="bntStyle" />
                </li>
                <li>
                   <asp:Button ID="PrintView" runat="server" Text="打印预览"  OnClientClick="document.all.WebBrowser.ExecWB(8,1)" CssClass="bntStyle"/>
                </li>
                 <li>
                    <asp:Button ID="SetView" runat="server" Text="页面设置" CssClass="bntStyle" OnClientClick="document.all.WebBrowser.ExecWB(7,1)" />
                </li>      
                </ul>第二种方法是用ScriptX 打印<object id="factory" style="display:none" viewastext classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" codebase="../../js/smsx.cab#Version=6,5,493,30">
     </object><div id="NoPrinter"  align="right" style="visibility:visible" class="noprint"><br>  
                <input type="button" value="关闭" name="bFQ" id="bFQ" onclick="javascript:window.close()"/>   
                <input type="button" value="打印设置" onclick="factory.printing.PageSetup()"/>  
                <input type="button" value="打印预览" onclick="factory.printing.Preview()"/> 
                <input type="button"  value="打印" onclick="Printers()"/>
                </div>
<script type="text/javascript">
function Printers()   
  {   
      agree = confirm('确定打印吗?');   
      if(agree)   
      {   
          if(agree)   
          {   
              NoPrinter.style.visibility='hidden';   
              factory.printing.Print();
          }   
          else  
          {
              NoPrinter.style.visibility='visible';   
          }   
      } 
  }  </script>
<style type="text/css" media="print">@media print { .noprint{display:none} } </style>
两种方法都是会打印全部的整个页面的东西,而我只想打印iframe为m2的这个里面的主页面的内容,麻烦大大门告诉下如何设置,或好的打印方法

解决方案 »

  1.   

    额 使用CAD局部打印画一个A4尺寸的矩形(210*297)将其缩放后圈住要打印的部分合适后放好 再在两对角做出标记 删除矩形然后选择窗口打印 选中原来矩形对角线的位置 预览觉得合适了就额可以打印了
      

  2.   

    你的意思是再打开一个新页面,但这个是在iframe里面操作的页面,如何跳出这个iframe重新打开页面,或者好点的方法,谢谢
      

  3.   

    HTML代码如下:
    <link type="text/css" rel="stylesheet" href="css/style.css" media="screen" />直接读的意思是“媒体 = 全屏幕”,针对不同设备应用不同的样式media=“”指定这个CSS用于何种设备。具体参数如下:screen (缺省值),提交到计算机屏幕;print, 输出到打印机;projection,提交到投影机;aural,扬声器;braille,提交到凸字触觉感知设备;tty,电传打字机 (使用固定的字体);tv,电视机;all,所有输出设备<style>   
      @media   print   {   
            .ptn   {display:block;}         
            .notptn   {display:none;}   
      }   
      </style>   
      <div   class="notptn">   不打印</div>   
      <div   class="ptn">   打印</div>希望对你有帮助
      

  4.   


    谢谢大大,可能你没看清楚我的问题,此方法可以屏蔽当前iframe里面的不需要打印的内容,但是该iframe是被包含在div里面,div外面还有其他的部分,我想让该iframe外面其他的部分不被打印,希望给出正解,谢谢
      

  5.   

    <style>  
      @media  print  {  
            .ptn  {display:block;}        
            .notptn  {display:none;}  
      }  
      </style>  
      <div  class="notptn">  不打印 </div>  
      <div  class="ptn">  打印 </div> 这种特别好用,不过FF好象不起作用,其他就不知道了。
      

  6.   

    但是我想不让iframe外面的部分也被打印,出了新开一个网页这种方法外,求各位正解
      

  7.   

    div外面的东西都可以放在一个或者几个div里啊,class="notptn"