本人项目使用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的这个里面的主页面的内容,麻烦大大门告诉下如何设置,或好的打印方法
即
<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的这个里面的主页面的内容,麻烦大大门告诉下如何设置,或好的打印方法
<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>希望对你有帮助
谢谢大大,可能你没看清楚我的问题,此方法可以屏蔽当前iframe里面的不需要打印的内容,但是该iframe是被包含在div里面,div外面还有其他的部分,我想让该iframe外面其他的部分不被打印,希望给出正解,谢谢
@media print {
.ptn {display:block;}
.notptn {display:none;}
}
</style>
<div class="notptn"> 不打印 </div>
<div class="ptn"> 打印 </div> 这种特别好用,不过FF好象不起作用,其他就不知道了。