js调用浏览器的打印功能

JavaScript030

js调用浏览器的打印功能,第1张

最近做了个运用浏览器打印合同的功能,之前没做过,记录一下其中遇到的问题,打印页面建议使用新开窗口 原型图如下: 页面内容不多说,表格直接用table绘制,在页面顶部加一个悬浮的打印按钮。点击打印按钮调用打印机(ctrl+p) 实现的打印预览效果如下图: 谷歌浏览器可在打印预览-更多设置-选项中去除页眉和页脚的勾选 打印的页面不可出现横向滚动条,否则会出现打印出来的内容显示不全的问题。

                var nt = new ActiveXObject("WScript.Network") //获取插件

                var oPrinters = nt.EnumPrinterConnections() //需要编写 ActiveX 控件来获得d打印机列表

                if (oPrinters == null || oPrinters.length == 0)

                {

                    alert('当前你的机器暂没安装打印机')

                    return

                } else

                {

                    //alert('当前打印机台数:'+oPrinters.length)

                }

                

                for (i = 0 i < oPrinters.length i += 2)

                {

                    var name = oPrinters.Item(i + 1)

                        if (name.indexOf("BTP-2200E") > -1)//判断当前的打印机名称是否是你想要修改的那台

                        {

                            nt.SetDefaultPrinter(name)//修改默认打印机

                            break

                        }

                    

                }

                //之后就是正常的打印动作了

第一种方法,你可以做一个popup,popup里面有两个按钮,一个按钮是确定,一个按钮是取消。咱这两个按钮写事件,前台后台都zhidao行。第二,就是在b1这个按钮的前台OnClick里面写事件,没必要这要在后台动态注册一个事回件。执行的相关js代码是放到大括号里面。点击确定执行的代码如果设计到数据答库操作,就稍微复杂,不能直接通过简单的js执行。第三,你非要用后台动态注册,推荐你使用scriptmanager.后台调用的话这样写ScriptManager.RegisterStartupScript(UpdatePanel1, typeof(UpdatePanel), string.Empty, "<script>alert('错误!')</script>", false)