<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    一杯清茶

    統(tǒng)計

    留言簿

    Oracle SQL/PLSQL

    PowerDesigner教程系列

    Struts2.0

    web開發(fā)

    三人行

    從事RCP開發(fā)的同行

    工作流和權(quán)限設(shè)置

    閱讀排行榜

    評論排行榜

    JS網(wǎng)頁打印設(shè)置技巧

    轉(zhuǎn)自:http://blog.sina.com.cn/s/blog_3eba8f1c0100emu4.html

    最近寫一些東西需要提供網(wǎng)頁打印功能,所以歸納總結(jié)了一下,本節(jié)主要講述使用IE6支持打印功能,不同瀏覽器安全設(shè)置與支持有差異,如果不支持,請使用您的瀏覽器自帶打印功能(或手動設(shè)置啟用ActiveX控件)。書寫有不足或描述不清的地方請大家指正。^-^

    利用CSS樣式打印是經(jīng)常使用的一種打印方法,利用它可以非常方便的實現(xiàn)打印頁面中的指定內(nèi)容和分頁打印,下面將通過具體實例介紹如何利用CSS樣式打印。

    [分析]:
    1.打印樣式區(qū)分:打印網(wǎng)頁帶頁面樣式,需指明一個media='print'的樣式,建議分開,如下創(chuàng)建軍一個bankprint.css打印樣式文件。
    <link rel="stylesheet" media="screen" type="text/css" href="/public/default/css/bank.css" />
    <!-- 打印樣式 -->
    <link rel="stylesheet" media="print" type="text/css" href="/public/default/css/bankprint.css" />
    例:
    <style media=‘print’>

    .Noprint {display:none;}

    .PageBreak {page-break-after: always;}

    </style>
    說明:
    media類型是CSS屬性媒體類型,用于直接引入媒體的屬性。其語法格式如下:
    @media screen | print | projection | braille | aural | tv | handheld | all
    參數(shù)說明
      screen:指計算機屏幕。
      print:指用于打印機的不透明介質(zhì)。
      projection:指用于顯示的項目。
      braille:盲文系統(tǒng),指有觸覺效果的印刷品。
      aural:指語音電子合成器。
      tv:電視類型的媒體。
      handheld:指手持式顯示設(shè)備。
      all:用于所有媒體。
    2.WebBrowser控件
    同其他控件一樣,首先我們需要在頁面中嵌入WebBrowser控件,不過由于該控件是IE瀏覽器自帶的,支持瀏覽器默認(rèn)安全設(shè)置,因此避免了安全性設(shè)置的麻煩。對于IE7及以上安全性要求更高的瀏覽器,您或許還是需要自定義IE的安全性級別。
    <OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" id="wb" width="0" height="0"></OBJECT>
    下面就是該控件涉及打印的功能調(diào)用,用戶可以在JavaScrip中調(diào)用:
    wb.execwb(6,1); //打印,打印當(dāng)前頁面
    wb.execwb(7,1); //打印預(yù)覽
    wb.execwb(8,1); //打印設(shè)置,調(diào)出系統(tǒng)打印設(shè)置對話框

    3.頁眉、頁腳設(shè)置:打印時,有的需要去掉頁眉頁腳,或替換成自已想要的。
    <script language="JavaScript">
        var hkey_root,hkey_path,hkey_key;
        hkey_root="HKEY_CURRENT_USER";
        hkey_path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
        //配置網(wǎng)頁打印的頁眉頁腳為空
        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,"");
                //&b 第&p頁/共&P頁 &b
            }catch(e){}
        }
        //配置網(wǎng)頁打印的頁眉頁腳為默認(rèn)值
        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>

    [源碼例子]:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>打印設(shè)置</title>
    <link rel="stylesheet" media="screen" type="text/css" />
    <!-- 打印樣式 -->
    <link rel="stylesheet" media="print" type="text/css" />
    <script language="JavaScript">
        var hkey_root,hkey_path,hkey_key;
        hkey_root="HKEY_CURRENT_USER";
        hkey_path="\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
        //配置網(wǎng)頁打印的頁眉頁腳為空
        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,"");
                //&b 第&p頁/共&P頁 &b
            }catch(e){}
        }
        //配置網(wǎng)頁打印的頁眉頁腳為默認(rèn)值
        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){}
         
         //打印選區(qū)內(nèi)容
        function doPrint() {
            pagesetup_null();
            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(); 
        }
        //打印頁面預(yù)覽
        function printpreview(){
            pagesetup_null();
            //wb.printing.header = "居左顯示&b居中顯示&b居右顯示頁碼,第&p頁/共&P頁";
            //wb.printing.footer = "居左顯示&b居中顯示&b居右顯示頁碼,第&p頁/共&P頁";
            try{
                wb.execwb(7,1);
            }catch(e){
                alert("您的瀏覽器不支持此功能,請選擇'文件'->'打印預(yù)覽'");
            }
        }
        //打印
        function prints(){
            pagesetup_null();
            //wb.printing.header = "居左顯示&b居中顯示&b居右顯示頁碼,第&p頁/共&P頁";
            //wb.printing.footer = "居左顯示&b居中顯示&b居右顯示頁碼,第&p頁/共&P頁";
            try{
                wb.execwb(6,1);
            }catch(e){
                alert("您的瀏覽器不支持此功能");
            }
        }
    </script>
    </head>
    <body>
    <OBJECT classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2" id="wb" width="0" height="0"></OBJECT>
    <div id="bankwrap">
      <div class="Noprint"><a style="cursor:pointer; color:#0000FF">返回首頁</a></div>
      <div style="text-align:right">
        <p class="Noprint">
            <span style="cursor:pointer; color:#0000FF" onclick="javascript:window.open('http://www.chinasvf.com/Webs/Share/printhelp')" class="Noprint">打印幫助</span>
            <span style="cursor:pointer; color:#0000FF" onclick="printpreview();">打印預(yù)覽</span>
            <span style="cursor:pointer; color:#0000FF" onclick="prints();" class="Noprint">打印</span>
        </p>
      </div>
      <div class="banktitle">內(nèi)容</div>
    </div>
    </body>
    </html>

    posted on 2009-07-22 20:12 一杯清茶 閱讀(3658) 評論(2)  編輯  收藏

    評論

    # re: JS網(wǎng)頁打印設(shè)置技巧 2010-07-08 16:44 犀山居士

    使用注冊表的那種方法好像沒有效果啊,是怎么回事?  回復(fù)  更多評論   

    # re: JS網(wǎng)頁打印設(shè)置技巧 2010-07-08 16:46 犀山居士

    有沒有辦法實現(xiàn)用代碼直接修改基本的打印設(shè)置參數(shù)?如修改打印紙張方向等,如注冊表那種方法,而不是要彈出設(shè)置界面讓用戶每次打印都要重新去設(shè)置,  回復(fù)  更多評論   


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: yellow免费网站| eeuss影院ss奇兵免费com| 亚洲国产成人久久综合野外| **真实毛片免费观看| 有色视频在线观看免费高清在线直播 | 国产人成免费视频网站| 久久国产乱子伦精品免费午夜| 中文有码亚洲制服av片| 久久久久久亚洲AV无码专区| 久久亚洲高清综合| 免费a级毛片无码a∨性按摩| 免费观看男人免费桶女人视频| 最近中文字幕免费2019| 久久大香香蕉国产免费网站| 一个人免费观看www视频| 日韩精品亚洲专区在线影视| 亚洲午夜无码久久久久软件| 亚洲AⅤ视频一区二区三区| 88av免费观看| jizz免费一区二区三区| 亚洲精品无码av片| 亚洲特级aaaaaa毛片| 亚洲一级二级三级不卡| 免费视频成人片在线观看| 国产精品1024在线永久免费| 免费的黄网站男人的天堂| 特级毛片A级毛片100免费播放| 99亚洲乱人伦aⅴ精品| 亚洲乱码国产乱码精华| 亚洲日韩精品无码专区加勒比 | 亚洲av产在线精品亚洲第一站| 自怕偷自怕亚洲精品| 亚洲日本va午夜中文字幕一区| 亚洲成熟xxxxx电影| 亚洲国产高清视频| 亚洲福利视频网站| 亚洲色欲www综合网| 亚洲春色在线观看| 精品亚洲国产成AV人片传媒| 亚洲精品中文字幕无乱码| 国产精品亚洲片在线va|