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

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

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

    一杯清茶

    統計

    留言簿

    Oracle SQL/PLSQL

    PowerDesigner教程系列

    Struts2.0

    web開發

    三人行

    從事RCP開發的同行

    工作流和權限設置

    閱讀排行榜

    評論排行榜

    JS網頁打印設置技巧

    轉自:http://blog.sina.com.cn/s/blog_3eba8f1c0100emu4.html

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

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

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

    3.頁眉、頁腳設置:打印時,有的需要去掉頁眉頁腳,或替換成自已想要的。
    <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,"");
                //&b 第&p頁/共&P頁 &b
            }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>

    [源碼例子]:

    <!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>打印設置</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\\";
        //配置網頁打印的頁眉頁腳為空
        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){}
        }
        //配置網頁打印的頁眉頁腳為默認值
        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){}
         
         //打印選區內容
        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(); 
        }
        //打印頁面預覽
        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("您的瀏覽器不支持此功能,請選擇'文件'->'打印預覽'");
            }
        }
        //打印
        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();">打印預覽</span>
            <span style="cursor:pointer; color:#0000FF" onclick="prints();" class="Noprint">打印</span>
        </p>
      </div>
      <div class="banktitle">內容</div>
    </div>
    </body>
    </html>

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

    評論

    # re: JS網頁打印設置技巧 2010-07-08 16:44 犀山居士

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

    # re: JS網頁打印設置技巧 2010-07-08 16:46 犀山居士

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


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


    網站導航:
     
    主站蜘蛛池模板: 永久免费视频网站在线观看| 亚洲乱码国产乱码精品精| 日韩精品无码免费专区午夜不卡| 亚洲国产美女精品久久| 亚洲综合色自拍一区| 午夜小视频免费观看| 1000部无遮挡拍拍拍免费视频观看 | 国产午夜亚洲精品理论片不卡| av无码国产在线看免费网站| 久久99毛片免费观看不卡| 国产一区二区三区亚洲综合| 亚洲一区二区三区高清视频| 亚洲激情视频在线观看| 国产成人精品日本亚洲专区 | 亚洲国产精品网站久久| 亚洲av无码av制服另类专区| 国产成人毛片亚洲精品| 国产人妖ts在线观看免费视频| 成年午夜视频免费观看视频| 亚洲国产精品免费观看| 16女性下面无遮挡免费| 高清一区二区三区免费视频| 大妹子影视剧在线观看全集免费 | 欧美在线看片A免费观看| 一区二区免费视频| 男女作爱在线播放免费网站| 久久国产精品免费| 999zyz**站免费毛片| 国产精品免费αv视频| jizz免费观看| 国产精品免费一区二区三区| 黄网站色成年片大免费高清| 色屁屁在线观看视频免费| 狠狠入ady亚洲精品| 朝桐光亚洲专区在线中文字幕| 国产精品无码亚洲精品2021 | 久久电影网午夜鲁丝片免费| 免费影院未满十八勿进网站| 毛片免费视频在线观看| 最新欧洲大片免费在线| 女人与禽交视频免费看|