请教一个在网页中js控制默认横向打印的问题

 我来答
就烦条0o
2016-05-04 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46487
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
打印
一、普通打印(整页打)
这个不用多说,直接按CTRL+P或引用window.print();

二、打印网页内部分内容(自定义)

分三种方法实现
1、用css控制

引用:
@media print
.a {display:block}
.b {display:hidden}

把你不想打印的部分class设为b
首先在网页中添加:

引用:
<OBJECT id="WebBrowser" height="0" width="0" classid="CLSID:8856F961-340A-
11D0-A96B-00C04FD705A2" VIEWASTEXT > </OBJECT >

然后就可以依次加入功能按钮了:

引用:
<input type="button" value="打印" > <input type="button" value="直接打印" >
<input type="button" value="页面设置" >
<input type="button" value="打印预览" > <INPUT type="button" value="关闭窗口" >

将这两块东西放到 <center class=noprint > </center >就不会打印这些按钮了。当然要定义noprint了:
<style media="print" >.Noprint { DISPLAY: none } </style >只要把不想打印的东西的css设置成noprint就可以了。
现在就实现了基本的web打印,需要注意的情况如下:
a. 必须将ie的internet选项的安全设置中对于没有标记为安全的ActiveX控件进行...设置成提示或者启用,否则会报错,导致不可用。
b. 如果在vs.net编辑环境下编辑该页面,它经常自动的给object添加多余的参数,有了这些东西,打印就会出错,所以要记得最后保存的时候删除它们。

2、用javascript打印固定标签内的内容
a、在页面的代码头部处加入JavaScript:

引用:
<script language=javascript >
function doPrint() {
bdhtml=window.document.body.innerHTML;
sprnstr=" <!--startprint-- >";
eprnstr=" <!--endprint-- >";
prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
window.document.body.innerHTML=prnhtml;
window.print();
}
</script >

b、在页面正文处加上 <!--startprint-- >与 <!--endprint-- >标识。
也就是在需要用户打印保存的正文所对应的html处附加上。同时,如果采用小偷程序获得远程数据并需打印,可将此等数据置于该定义标签之内即可。
c、截取内容部分已完成,现在加个“打印”的链接:
<a href="javascript:;" >打印 </a >

3、windows自带功能
按住鼠标的左键,将你想要打印的内容选定,然后单击右键选择“打印”,在弹出的打印对话框中的“页面范围”中选择“选定范围”就可以只打印你选择的内容了。

(三)打印去掉/添加页眉页脚

引用:

<script language="JavaScript" >
var hkey_root,hkey_path,hkey_key
hkey_root="HKEY_CURRENT_USER"
hkey_path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\"
//设置网页打印的页眉页脚为空
function pagesetup_null(){
try{
var RegWsh = new ActiveXObject("WScript.Shell")
hkey_key="header"
RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"")
hkey_key="footer"
RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"")
}catch(e){}
}
//设置网页打印的页眉页脚为默认值
function pagesetup_default(){
try{
var RegWsh = new ActiveXObject("WScript.Shell")
hkey_key="header"
RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"&w&b页码,&p/&P")hkey_key="footer"
RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,"&u&b&d")
}catch(e){}
}
</script >
<input type="button" value="清空页码" onclick=pagesetup_null() >
<input type="button" value="恢复页码" onclick=pagesetup_default() >

复制出去,看下效果就可以了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式