<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)航:
     
    主站蜘蛛池模板: 亚洲成av人在线观看网站| 亚洲成aⅴ人片久青草影院| 亚洲AV无码精品无码麻豆| 中文字幕永久免费| 亚洲综合伊人久久综合| 国产成人无码精品久久久久免费| 成人亚洲综合天堂| 人人爽人人爽人人片A免费| 亚洲精品无码永久在线观看| 久久久久久国产a免费观看不卡 | 亚洲高清一区二区三区电影| 搡女人真爽免费视频大全| 亚洲AV无码男人的天堂| yy6080亚洲一级理论| www一区二区www免费| 久久青青成人亚洲精品| 精品福利一区二区三区免费视频| 亚洲人色大成年网站在线观看| 午夜色a大片在线观看免费| 国产亚洲午夜精品| 国产亚洲精品国看不卡| 久久精品无码专区免费青青| 亚洲an日韩专区在线| 免费精品国产自产拍观看| 亚洲视频在线免费| 亚洲国产精品日韩在线| 国产老女人精品免费视频| 黄色视屏在线免费播放| 911精品国产亚洲日本美国韩国 | 国产成人无码免费看视频软件 | 91精品免费在线观看| 亚洲AⅤ男人的天堂在线观看 | 无码国产精品一区二区免费式影视 | 免费大黄网站在线看| 久久久久免费精品国产| 亚洲精品伊人久久久久| 亚洲av高清在线观看一区二区| 日本黄色动图免费在线观看| 一本天堂ⅴ无码亚洲道久久| 久久精品国产精品亚洲| 青青青免费国产在线视频小草|