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

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

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

    posts - 5,  comments - 7,  trackbacks - 0
    對JS的打印方法總結一下,方便日后查閱。

    一.用JS自帶函數打印

    直接調用
    Java代碼 復制代碼
    1. <a href="javascript:window.print();">打印</a>  


    二.IEWebBrowser組件

    介紹

    http://support.microsoft.com/default.aspx?scid=kb%3BEN-US%3BQ267240#top
    http://support.microsoft.com/kb/q247671/#appliesto

    Java代碼 復制代碼
    1. <OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0></OBJECT>    
    2. <input name=Button onClick=document.all.WebBrowser.ExecWB(1,1) type=button value=打開>   
    3. <input name=Button onClick=document.all.WebBrowser.ExecWB(2,1) type=button value=關閉所有>   
    4. <input name=Button onClick=document.all.WebBrowser.ExecWB(4,1) type=button value=另存為>    
    5. <input name=Button onClick=document.all.WebBrowser.ExecWB(6,1) type=button value=打印>   
    6. <input name=Button onClick=document.all.WebBrowser.ExecWB(6,6) type=button value=直接打印>   
    7. <input name=Button onClick=document.all.WebBrowser.ExecWB(7,1) type=button value=打印預覽>   
    8. <input name=Button onClick=document.all.WebBrowser.ExecWB(8,1) type=button value=頁面設置>   
    9. <input name=Button onClick=document.all.WebBrowser.ExecWB(10,1) type=button value=屬性>   
    10. <input name=Button onClick=document.all.WebBrowser.ExecWB(17,1) type=button value=全選>   
    11. <input name=Button onClick=document.all.WebBrowser.ExecWB(22,1) type=button value=刷新>   
    12. <input name=Button onClick=document.all.WebBrowser.ExecWB(45,1) type=button value=關閉>  


    三.使用ScriptX.cab控件

    1.下載ScriptX.cab控件

    官網http://www.meadroid.com/scriptx/index.asp

    2.使用object元素,修改codebase,classid的值

    這里調用控件ScriptX.cab
    Java代碼 復制代碼
    1. <OBJECT id="factory" style="DISPLAY: none" codeBase="${rootUrl}js/smsx.cab#VVersion=6,3,435,20"  classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" viewastext></OBJECT>  


    這段代碼用來加載cab文件,clsid和codebase必須要和你下載的cab中的信息對應,否則組件會加載錯誤,這兩項其實不難找,只要你用winrar打開你下載的cab文件,然后找到擴展名是.inf的文件,然后打開之,就能看到了。

    3.調用控件腳本

    Print.js文件
    Java代碼 復制代碼
    1. function setPrintBase(headerText,footerText,rootUrl) {   
    2.   
    3.     // -- advanced features  ,未曾使用過,有待確認。   
    4.   
    5.         //factory.printing.SetMarginMeasure(2); // measure margins in inches   
    6.   
    7.         //factory.SetPageRange(false, 1, 3);// need pages from 1 to 3   
    8.   
    9.         //factory.printing.printer = "HP DeskJet 870C";   
    10.   
    11.         //factory.printing.copies = 2;   
    12.   
    13.         //factory.printing.collate = true;   
    14.   
    15.         //factory.printing.paperSize = "A4";   
    16.   
    17.         //factory.printing.paperSource = "Manual feed"   
    18.   
    19.     var header = (headerText==null||headerText=="")?'默認頁眉':headerText;   
    20.   
    21.     var footer = (footerText==null||footerText=="")?'默認頁角':footerText;   
    22.   
    23.   factory.printing.header = "&b"+header+"&b" ;   
    24.   
    25.   factory.printing.footer = "&b"+footer;   
    26.   
    27.   factory.printing.portrait = true;   
    28.   
    29.   factory.printing.leftMargin =10.00;   
    30.   
    31.   factory.printing.topMargin =10.00;   
    32.   
    33.   factory.printing.rightMargin =10.00;   
    34.   
    35.   factory.printing.bottomMargin =10.00;   
    36.   
    37. }  



    例子
    Java代碼 復制代碼
    1. <%@ page contentType="text/html;charset=GBK"%>   
    2.   
    3. <html>   
    4. <head>   
    5. <meta http-equiv="imagetoolbar" content="no">   
    6. <script language="javascript" src="print.js"></script>   
    7. <style media="print">   
    8. .Noprint   {DISPLAY:   none;}   
    9. </style>   
    10. <title>打印測試</title>   
    11. </head>   
    12. <OBJECT id="factory" style="DISPLAY: none" codeBase="smsx.cab#VVersion=6,3,435,20"  classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814" viewastext></OBJECT>   
    13.   
    14. <script defer>   
    15. function window.onload() {      
    16. setPrintBase('頁眉','頁腳');   
    17. }   
    18. </script>   
    19. <body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0">   
    20. <center class="Noprint">   
    21.  <input type=button value="打印" onclick="factory.printing.Print(true)">    
    22. <input type=button value="頁面設置" onclick="factory.printing.PageSetup()">    
    23.  <input type=button value="打印預覽" onclick="factory.printing.Preview()">              
    24. <input type="button" value="關閉" onclick="window.close();">   
    25. </center>   
    26.    <center>   
    27.       <table width="100%" border="0" cellpadding="0" cellspacing="0">   
    28.           <tr><td align="center"><b>內容</b></td></tr>   
    29.        </table>   
    30.     </center>   
    31. </body>   
    32. </html>  


    四.對比

    1.Window.print調用方便,但功能簡單

    2.功能更強大,但使用IEWebBrowser有時會報JS沒有權限的錯誤。

    3.ScriptX控件功能也比較強大,目前在使用這種方式。
    posted on 2008-11-24 23:51 Vincent-chen 閱讀(223) 評論(0)  編輯  收藏 所屬分類: JavaScript
    主站蜘蛛池模板: 亚洲码和欧洲码一码二码三码| 亚洲AV成人精品网站在线播放| 亚洲国产成人久久精品大牛影视| 永久免费在线观看视频| 亚洲国产一区国产亚洲| 男人的天堂网免费网站| 久久久久久亚洲精品成人| 99精品视频免费在线观看| 亚洲无砖砖区免费| 成年免费大片黄在线观看岛国| 亚洲一级毛片免费在线观看| 最近免费中文字幕视频高清在线看| 日本亚洲免费无线码| 日韩电影免费在线| 男女猛烈无遮掩视频免费软件| 久久久久亚洲AV无码专区网站| 美女巨胸喷奶水视频www免费| 亚洲国产综合专区电影在线 | 成人嫩草影院免费观看| 亚洲色欲久久久综合网东京热| 国产免费AV片在线观看| 亚洲神级电影国语版| 成人毛片免费在线观看| 一级做a爰全过程免费视频毛片| 国产精品亚洲二区在线观看| 久久99国产综合精品免费| 亚洲中文字幕无码中文| 亚洲成AⅤ人影院在线观看| 野花香在线视频免费观看大全| 亚洲精品午夜视频| 免费v片视频在线观看视频| 久久美女网站免费| 67194在线午夜亚洲| 亚洲一区精品伊人久久伊人| 久久综合给合久久国产免费| 亚洲高清国产拍精品熟女| 国产亚洲av片在线观看16女人 | 国产在线19禁免费观看| 国产免费爽爽视频在线观看| 亚洲国产成人综合精品| 久久精品亚洲综合一品|