国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JS實現(xiàn)打印的方式

LucasTwilight / 1375人閱讀

摘要:實現(xiàn)打印的方式方式一會彈出打印對話框,打印的是中的內(nèi)容,下面是從網(wǎng)上摘到的一個局部打印的例子,該例子的不足是打印會修改頁面的內(nèi)容。

目前正在做瀏覽器端采用js方式實現(xiàn)打印這么一個功能,JS打印實現(xiàn)的方法很多,但是兼容各個瀏覽器實現(xiàn)打印預覽的功能有些棘手,現(xiàn)將實現(xiàn)的內(nèi)容及遇到的問題記錄下來,希望有大牛看到所提的問題后可以給予解答,在此感謝啦。

1.JS實現(xiàn)打印的方式

方式一:window.print()

window.print();會彈出打印對話框,打印的是window.document.body.innerHTML中的內(nèi)容,下面是從網(wǎng)上摘到的一個局部打印的例子,該例子的不足是打印會修改頁面的內(nèi)容。
  
  
  
  
局部打印案例  
  
  
  
  

1不需要打印的地方

2這里不要打印啊

打印標題

打印內(nèi)容~~

不打印的地方啊哈哈哈哈

2

方式二:使用html 標簽引入Webbrowser控件

這種方式是其只兼容IE,其他瀏覽器不可使用,同時IE10以下的瀏覽器才可以使用,調(diào)用方式如下:

  
       
  
  

     


這種方式優(yōu)勢是在IE下可以彈出打印預覽,這是打印很人性化的功能,但是遺憾的是高版本的IE瀏覽器不支持WebBrowser了

方式三:采用document.execCommand(”print”)

該方式也兼容各個版本的瀏覽器,同window.print()一樣,其啟動的是打印對話框,chrome的打印對話框自帶預覽功能,但是IE、火狐僅僅只彈出打印設置對話框,沒有預覽功能。

方式四:采用JQuery插件

使用jQuery瀏覽插件可以很方便的進行局部打印,常用的插件有:

1)jquery.print.js 下載地址:https://github.com/DoersGuild...

2)jquery.print-preview.js 下載地址:https://github.com/etimbo/jqu...

這兩種方式使用都很簡單,1)通過$("#id").print(/*options*/);調(diào)用;2)通過$("#id").printArea(/options/); 其中的option可選項可以在下載地址下載下來后看示例代碼,一般options不用傳即可,示例代碼如下:

  
  
  
JQuery打印  
  
  
  
  
  

方式五:采用瀏覽器打印第三方插件

該方式需要用戶瀏覽器安裝相關的第三方插件,用戶體驗不好,故在此不細述了。

2.打印預覽

chrome瀏覽器、win10自帶的IE瀏覽器 調(diào)用打印彈出的打印設置界面中包含打印預覽部分,故其通過上面的打印函數(shù)的調(diào)用即可實現(xiàn)。

IE9以后的版本、火狐不支持webbrowser控件了,JS調(diào)用不了瀏覽器的打印預覽的功能,我們只能用iframe模擬打印預覽的對話框,將需要打印的內(nèi)容顯示在該對話框中,然后在調(diào)用打印的功能實現(xiàn)打印。

1)jquery打印預覽插件

jquery.print-preview.js 下載地址:https://github.com/etimbo/jqu...

其實現(xiàn)的效果如下圖(其自動的示例代碼)

2)webbrowser控件打印預覽

IE8及以下版本可以調(diào)用WebBrowser.ExecWB(7,1) 函數(shù)彈出瀏覽器的打印預覽對話框,采用該函數(shù)的好處是 用戶可以在打印預覽對話框中 調(diào)整頁邊距、頁眉、頁腳;

下面貼出的是設置頁邊距、頁眉、頁腳的JS代碼

//取得頁面打印設置的原參數(shù)數(shù)據(jù)     
function PageSetup_temp(){     
    try     
    {     
       var Wsh=new ActiveXObject("WScript.Shell");     
       HKEY_Key="header";     
        //取得頁眉默認值     
       head = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);     
       HKEY_Key="footer";     
        //取得頁腳默認值     
       foot = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);     
       HKEY_Key="margin_bottom";     
        //取得下頁邊距     
       bottom = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);     
       HKEY_Key="margin_left";     
        //取得左頁邊距     
       left = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);     
       HKEY_Key="margin_right";     
        //取得右頁邊距     
       right = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);     
       HKEY_Key="margin_top";     
        //取得上頁邊距     
       top = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);     
    }     
    catch(e){     
         //alert("不允許ActiveX控件");     
    }     
}  



//設置網(wǎng)頁打印的頁眉頁腳和頁邊距,注冊表里的單位是英寸,打印設置中是毫米,1英寸=25.4毫米     
function PageSetup_Null(){     
    try     
    {     
       var Wsh=new ActiveXObject("WScript.Shell");     
       HKEY_Key="header";     
        //設置頁眉(為空)     
       Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");     
       HKEY_Key="footer";     
        //設置頁腳(為空)     
       Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");     
       HKEY_Key="margin_bottom";     
        //設置下頁邊距(0)     
       Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0.6");     
       HKEY_Key="margin_left";     
        //設置左頁邊距(0)     
       Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0.3");     
       HKEY_Key="margin_right";     
        //設置右頁邊距(0)     
       Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0.3");     
       HKEY_Key="margin_top";     
        //設置上頁邊距(8)     
       Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0.6");     
    }     
    catch(e){     
         //alert("不允許ActiveX控件");     
    }     
}     
  
//設置網(wǎng)頁打印的頁眉頁腳和頁邊距為默認值     
function PageSetup_Default(){        
    try     
    {     
       var Wsh=new ActiveXObject("WScript.Shell");     
       HKEY_Key="header";     
       HKEY_Key="header";     
        //還原頁眉     
       Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,head);     
       HKEY_Key="footer";     
        //還原頁腳     
       Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,foot);     
       HKEY_Key="margin_bottom";     
        //還原下頁邊距     
       Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,bottom);     
       HKEY_Key="margin_left";     
        //還原左頁邊距     
       Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,left);     
       HKEY_Key="margin_right";     
        //還原右頁邊距     
       Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,right);     
       HKEY_Key="margin_top";     
        //還原上頁邊距     
       Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,top);     
    }     
    catch(e){     
         //alert("不允許ActiveX控件");     
    }     
}  
//取得頁面打印設置的原參數(shù)數(shù)據(jù)   
function PageSetup_temp(){   
    try   
    {   
       var Wsh=new ActiveXObject("WScript.Shell");   
       HKEY_Key="header";   
        //取得頁眉默認值   
       head = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);   
       HKEY_Key="footer";   
        //取得頁腳默認值   
       foot = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);   
       HKEY_Key="margin_bottom";   
        //取得下頁邊距   
       bottom = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);   
       HKEY_Key="margin_left";   
        //取得左頁邊距   
       left = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);   
       HKEY_Key="margin_right";   
        //取得右頁邊距   
       right = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);   
       HKEY_Key="margin_top";   
        //取得上頁邊距   
       top = Wsh.RegRead(HKEY_Root+HKEY_Path+HKEY_Key);   
    }   
    catch(e){   
         //alert("不允許ActiveX控件");   
    }   
}   



//設置網(wǎng)頁打印的頁眉頁腳和頁邊距,注冊表里的單位是英寸,打印設置中是毫米,1英寸=25.4毫米   
function PageSetup_Null(){   
    try   
    {   
       var Wsh=new ActiveXObject("WScript.Shell");   
       HKEY_Key="header";   
        //設置頁眉(為空)   
       Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");   
       HKEY_Key="footer";   
        //設置頁腳(為空)   
       Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"");   
       HKEY_Key="margin_bottom";   
        //設置下頁邊距(0)   
       Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0.6");   
       HKEY_Key="margin_left";   
        //設置左頁邊距(0)   
       Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0.3");   
       HKEY_Key="margin_right";   
        //設置右頁邊距(0)   
       Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0.3");   
       HKEY_Key="margin_top";   
        //設置上頁邊距(8)   
       Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"0.6");   
    }   
    catch(e){   
         //alert("不允許ActiveX控件");   
    }   
}   
 
//設置網(wǎng)頁打印的頁眉頁腳和頁邊距為默認值   
function PageSetup_Default(){      
    try   
    {   
       var Wsh=new ActiveXObject("WScript.Shell");   
       HKEY_Key="header";   
       HKEY_Key="header";   
        //還原頁眉   
       Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,head);   
       HKEY_Key="footer";   
        //還原頁腳   
       Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,foot);   
       HKEY_Key="margin_bottom";   
        //還原下頁邊距   
       Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,bottom);   
       HKEY_Key="margin_left";   
        //還原左頁邊距   
       Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,left);   
       HKEY_Key="margin_right";   
        //還原右頁邊距   
       Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,right);   
       HKEY_Key="margin_top";   
        //還原上頁邊距   
       Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,top);   
    }   
    catch(e){   
         //alert("不允許ActiveX控件");   
    }   
}

使用該函數(shù),會彈出

通過網(wǎng)頁修改activex安全設置,添加信任站點,禁用該彈出窗口提示,代碼如下:

function activeXControl(){  
        try{  
        var WshShell=new ActiveXObject("WScript.Shell");  
          
        //添加信任站點(http://127.0.0.1)  
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet SettingsoneMapRangesRange100","");  
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet SettingsoneMapRangesRange100:Range","127.0.0.1");  
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet SettingsoneMapRangesRange100http","2","REG_DWORD");  
  
        //修改IE ActiveX安全設置: 1本地Intranet區(qū)域  
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones11001","0","REG_DWORD");  
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones11004","0","REG_DWORD");  
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones11200","0","REG_DWORD");  
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones11201","0","REG_DWORD");  
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones11405","0","REG_DWORD");  
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones12201","0","REG_DWORD");  
  
        //修改IE ActiveX安全設置:2受信任的站點區(qū)域  
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones21001","0","REG_DWORD");  
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones21004","0","REG_DWORD");  
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones21200","0","REG_DWORD");  
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones21201","0","REG_DWORD");  
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones21405","0","REG_DWORD");  
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones22201","0","REG_DWORD");  
          
        //修改IE ActiveX安全設置:3Internet區(qū)域  
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones31001","0","REG_DWORD");  
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones31004","0","REG_DWORD");  
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones31200","0","REG_DWORD");  
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones31201","0","REG_DWORD");  
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones31405","0","REG_DWORD");  
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones32201","0","REG_DWORD");  
  
        //禁用Winxp彈出窗口阻止程序  
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerNew WindowsPopupMgr","no");  
    }catch(e){     
         //alert("不允許ActiveX控件");     
    }     
}  
function activeXControl(){
        try{
        var WshShell=new ActiveXObject("WScript.Shell");
        
        //添加信任站點(http://127.0.0.1)
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet SettingsoneMapRangesRange100","");
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet SettingsoneMapRangesRange100:Range","127.0.0.1");
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet SettingsoneMapRangesRange100http","2","REG_DWORD");
 
        //修改IE ActiveX安全設置: 1本地Intranet區(qū)域
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones11001","0","REG_DWORD");
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones11004","0","REG_DWORD");
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones11200","0","REG_DWORD");
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones11201","0","REG_DWORD");
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones11405","0","REG_DWORD");
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones12201","0","REG_DWORD");
 
        //修改IE ActiveX安全設置:2受信任的站點區(qū)域
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones21001","0","REG_DWORD");
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones21004","0","REG_DWORD");
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones21200","0","REG_DWORD");
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones21201","0","REG_DWORD");
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones21405","0","REG_DWORD");
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones22201","0","REG_DWORD");
        
        //修改IE ActiveX安全設置:3Internet區(qū)域
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones31001","0","REG_DWORD");
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones31004","0","REG_DWORD");
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones31200","0","REG_DWORD");
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones31201","0","REG_DWORD");
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones31405","0","REG_DWORD");
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settingsones32201","0","REG_DWORD");
 
        //禁用Winxp彈出窗口阻止程序
        WshShell.RegWrite("HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerNew WindowsPopupMgr","no");
    }catch(e){   
         //alert("不允許ActiveX控件");   
    }   
}

3.問題
1)網(wǎng)頁修改activex安全設置該段代碼也是必須在啟用ActiveX的條件下調(diào)用成功,是需要用戶在Internet的配置項中設置的(如下圖),如何才能自動啟用該插件?

2) chrome、火狐如何通過JS設置頁邊距、頁眉、頁腳?

3) IE高版本瀏覽器、火狐如何通過JS彈出瀏覽器自己的打印預覽?

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/97000.html

相關文章

  • 關于iview框架實現(xiàn)打印指定區(qū)域所碰到

    摘要:今天遇到一個需求,看起來也比較簡單,就是實現(xiàn)一個打印功能。有兩種方法來實現(xiàn),一種是利用的媒體查詢,另一種則是使用。 今天遇到一個需求,看起來也比較簡單,就是實現(xiàn)一個打印功能。頁面中有一個表單,將表單里的數(shù)據(jù)對應添加到表格中,然后點擊打印按鈕,實現(xiàn)預覽打印,這里我用的是iview框架,如下圖所示:showImg(https://segmentfault.com/img/bVbicZo?w...

    quietin 評論0 收藏0
  • 手機端調(diào)試利器 - 總結與實踐

    摘要:一些調(diào)試工具說起手機端調(diào)試,相比大家都不陌生。能對手機進行遠程調(diào)試,能操作,打印輸出等。通過使用實現(xiàn)本地與遠程調(diào)試器的通信。安裝各種虛擬機在電腦上進行手機調(diào)試。服務端接收到手機發(fā)來的消息,把消息廣播給所有客戶端。 一些調(diào)試工具 說起手機端調(diào)試,相比大家都不陌生。 由于手機瀏覽器沒有像PC端瀏覽器一樣有開發(fā)調(diào)試工具,所以一般手機端的調(diào)試都要借助于電腦,現(xiàn)在的調(diào)試方式通常有以下幾種。 直...

    JasinYip 評論0 收藏0
  • 前端實現(xiàn)html轉pdf方法總結

    摘要:比上面的稍微好點,支持了一些方面的東西,具體看這個中文配置參數(shù)評價這種方法前端實現(xiàn),靈活簡單,而且在頁面還原上是很好的,生成的過程不需要自己操心,頁面樣式還可控,可以說是非常不錯的。 最近要搞前端html轉pdf的功能。折騰了兩天,略有所收,踩了一些坑,所以做些記錄,為后來的兄弟做些提示,也算是回饋社區(qū)。經(jīng)過一番調(diào)(sou)研(suo)發(fā)現(xiàn)html導出pdf一般有這幾種方式,各有各有優(yōu)...

    Heier 評論0 收藏0
  • 前端實現(xiàn)html轉pdf方法總結

    摘要:比上面的稍微好點,支持了一些方面的東西,具體看這個中文配置參數(shù)評價這種方法前端實現(xiàn),靈活簡單,而且在頁面還原上是很好的,生成的過程不需要自己操心,頁面樣式還可控,可以說是非常不錯的。 最近要搞前端html轉pdf的功能。折騰了兩天,略有所收,踩了一些坑,所以做些記錄,為后來的兄弟做些提示,也算是回饋社區(qū)。經(jīng)過一番調(diào)(sou)研(suo)發(fā)現(xiàn)html導出pdf一般有這幾種方式,各有各有優(yōu)...

    gekylin 評論0 收藏0
  • 前端實現(xiàn)html轉pdf方法總結

    摘要:比上面的稍微好點,支持了一些方面的東西,具體看這個中文配置參數(shù)評價這種方法前端實現(xiàn),靈活簡單,而且在頁面還原上是很好的,生成的過程不需要自己操心,頁面樣式還可控,可以說是非常不錯的。 最近要搞前端html轉pdf的功能。折騰了兩天,略有所收,踩了一些坑,所以做些記錄,為后來的兄弟做些提示,也算是回饋社區(qū)。經(jīng)過一番調(diào)(sou)研(suo)發(fā)現(xiàn)html導出pdf一般有這幾種方式,各有各有優(yōu)...

    yvonne 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<