js控制網頁列印(js調用瀏覽器列印功能)

本文目錄一覽:

js瀏覽器列印設置列印次數

普通報表工具欄上有列印按鈕,點擊該按鈕會彈出列印頁面。

思路一:通過工具欄中的列印按鈕,進行控制。設置全局變數–列印次數,如果列印次數為0,則直接列印,不再跳轉到列印頁面。或者在參數欄中新增一個列印按鈕,在裡面寫JS腳本。不通過工具欄中的列印按鈕實現這個功能。

思路二:在跳轉的列印頁面,只要點擊一次列印按鈕,則一方面執行列印指令,另一方面自動關閉列印頁面。同時主模板自動刷新數據,重新載入列印次數為1。

思路三:在跳轉的列印頁面,獲取全局變數–列印次數,如果為0,則列印按鈕有效。否則列印按鈕不可用,為灰色狀態。

js調用瀏覽器的列印功能

最近做了個運用瀏覽器列印合同的功能,之前沒做過,記錄一下其中遇到的問題,列印頁面建議使用新開窗口

原型圖如下:

頁面內容不多說,表格直接用table繪製,在頁面頂部加一個懸浮的列印按鈕。點擊列印按鈕調用印表機(ctrl+p)

實現的列印預覽效果如下圖:

谷歌瀏覽器可在列印預覽-更多設置-選項中去除頁眉和頁腳的勾選

列印的頁面不可出現橫向滾動條,否則會出現列印出來的內容顯示不全的問題。

請教一個在網頁中js控制默認橫向列印的問題

列印

一、普通列印(整頁打)

這個不用多說,直接按CTRL+P或引用window.print();

二、列印網頁內部分內容(自定義)

分三種方法實現

1、用css控制

引用:

@media print

.a {display:block}

.b {display:hidden}

把你不想列印的部分class設為b

首先在網頁中添加:

引用:

OBJECT id=”WebBrowser” height=”0″ width=”0″ classid=”CLSID:8856F961-340A-

11D0-A96B-00C04FD705A2″ VIEWASTEXT /OBJECT

然後就可以依次加入功能按鈕了:

引用:

input type=”button” value=”列印” input type=”button” value=”直接列印”

input type=”button” value=”頁面設置”

input type=”button” value=”列印預覽” INPUT type=”button” value=”關閉窗口”

將這兩塊東西放到 center class=noprint /center 就不會列印這些按鈕了。當然要定義noprint了:

style media=”print” .Noprint { DISPLAY: none } /style 只要把不想列印的東西的css設置成noprint就可以了。

現在就實現了基本的web列印,需要注意的情況如下:

a. 必須將ie的internet選項的安全設置中對於沒有標記為安全的ActiveX控制項進行…設置成提示或者啟用,否則會報錯,導致不可用。

b. 如果在vs.net編輯環境下編輯該頁面,它經常自動的給object添加多餘的參數,有了這些東西,列印就會出錯,所以要記得最後保存的時候刪除它們。

2、用javascript列印固定標籤內的內容

a、在頁面的代碼頭部處加入JavaScript:

引用:

script language=javascript

function doPrint() {

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();

}

/script

b、在頁面正文處加上 !–startprint– 與 !–endprint– 標識。

也就是在需要用戶列印保存的正文所對應的html處附加上。同時,如果採用小偷程序獲得遠程數據並需列印,可將此等數據置於該定義標籤之內即可。

c、截取內容部分已完成,現在加個「列印」的鏈接:

a href=”javascript:;” 列印 /a

3、windows自帶功能

按住滑鼠的左鍵,將你想要列印的內容選定,然後單擊右鍵選擇「列印」,在彈出的列印對話框中的「頁面範圍」中選擇「選定範圍」就可以只列印你選擇的內容了。

(三)列印去掉/添加頁眉頁腳

引用:

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,””)

}catch(e){}

}

//設置網頁列印的頁眉頁腳為默認值

function pagesetup_default(){

try{

var RegWsh = new ActiveXObject(“WScript.Shell”)

hkey_key=”header”

RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,”wb頁碼,p/P”)hkey_key=”footer”

RegWsh.RegWrite(hkey_root+hkey_path+hkey_key,”ubd”)

}catch(e){}

}

/script

input type=”button” value=”清空頁碼” onclick=pagesetup_null()

input type=”button” value=”恢復頁碼” onclick=pagesetup_default()

複製出去,看下效果就可以了

使用Javascript怎樣自動列印頁面

1、js實現(可實現局部列印)

[html] view plain copy

input id=”btnPrint” type=”button” value=”列印” onclick=”javascript:window.print();” /

input id=”btnPrint” type=”button” value=”列印預覽” onclick=preview(1) /

style type=”text/css” media=print

.noprint{display : none }

/style

p class=”noprint”不需要列印的地方/p

script

function preview(oper)

{

if (oper 10)

{

bdhtml=window.document.body.innerHTML;//獲取當前頁的html代碼

sprnstr=”!–startprint”+oper+”–“;//設置列印開始區域

eprnstr=”!–endprint”+oper+”–“;//設置列印結束區域

prnhtml=bdhtml.substring(bdhtml.indexOf(sprnstr)+18); //從開始代碼向後取html

prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));//從結束代碼向前取html

window.document.body.innerHTML=prnhtml;

window.print();

window.document.body.innerHTML=bdhtml;

} else {

window.print();

}

}

/script

pXXXXX/p

!–startprint1–要列印的內容!–endprint1–

再加個列印按紐 onclick=preview(1)

2、調用windows底層列印,報安全警告,不建議使用(不支持局部列印)

[html] view plain copy

HTML

HEAD

TITLEjavascript列印-列印頁面設置-列印預覽代碼/TITLE

META http-equiv=Content-Type content=”text/html; charset=gb2312″ /

SCRIPT language=javascript

function printsetup(){

// 列印頁面設置

wb.execwb(8,1);

}

function printpreview(){

// 列印頁面預覽

wb.execwb(7,1);

}

function printit()

{

if (confirm(‘確定列印嗎?’)) {

wb.execwb(6,6);

}

}

/SCRIPT

/HEAD

BODY

DIV align=center

OBJECT id=wb height=0 width=0

classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 name=wb/OBJECT

INPUT onclick=javascript:printit() type=button value=列印 name=button_print /

INPUT onclick=javascript:printsetup(); type=button value=列印頁面設置 name=button_setup /

INPUT onclick=javascript:printpreview(); type=button value=列印預覽 name=button_show /

一按開始的減肥了卡時間段

/DIV

/BODY

/HTML

3、jQuery實現(支持局部列印)

[html] view plain copy

script type=”text/javascript” src=”jquery-1.4.2.min.js”/script

script type=”text/javascript” src=”jquery.PrintArea.js”/script

script

$(document).ready(function(){

$(“input#biuuu_button”).click(function(){

$(“div#myPrintArea”).printArea();

});

});

/script

input id=”biuuu_button” type=”button” value=”列印”/input

div id=”myPrintArea”…..文本列印部分…../div

js如何實現頁面列印

HTMLHEADTITLEjavascript列印-列印頁面設置-列印預覽代碼/TITLE

META http-equiv=Content-Type content=”text/html; charset=gb2312″ /

SCRIPT language=javascript

function printsetup(){

// 列印頁面設置

wb.execwb(8,1);

}

function printpreview(){

// 列印頁面預覽

wb.execwb(7,1);

}

function printit()

{

if (confirm(‘確定列印嗎?’)) {

wb.execwb(6,6)

}

}

/SCRIPT

/HEAD

BODY

DIV align=center

OBJECT id=wb height=0 width=0

classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 name=wb/OBJECT

INPUT onclick=javascript:printit() type=button value=列印 name=button_print /

INPUT onclick=javascript:printsetup(); type=button value=列印頁面設置 name=button_setup /

INPUT onclick=javascript:printpreview(); type=button value=列印預覽 name=button_show /

/DIV

/BODY

/HTML

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/294124.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-26 13:15
下一篇 2024-12-26 13:15

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • 如何解決web瀏覽器雙擊事件時差

    本文將從以下幾個方面對web瀏覽器雙擊事件時差進行詳細闡述,並提供解決方法。 一、雙擊事件延時設置 1、問題描述:在web瀏覽器中,雙擊事件默認會延時一定的時間才能觸發該事件,這個…

    編程 2025-04-29
  • 解析js base64並轉成unit

    本文將從多個方面詳細介紹js中如何解析base64編碼並轉成unit格式。 一、base64編碼解析 在JavaScript中解析base64編碼可以使用atob()函數,它會將b…

    編程 2025-04-29
  • Java和Python哪個功能更好

    對於Java和Python這兩種編程語言,究竟哪一種更好?這個問題並沒有一個簡單的答案。下面我將從多個方面來對Java和Python進行比較,幫助讀者了解它們的優勢和劣勢,以便選擇…

    編程 2025-04-29
  • Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的解決方法

    本文將解決Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的問題。同時,給出一些相關示例代碼,以幫助讀者更好的理解並處理這個問題。 一、問題解…

    編程 2025-04-29
  • python爬取網頁並生成表格

    本文將從以下幾個方面詳細介紹如何使用Python爬取網頁數據並生成表格: 一、獲取網頁數據 獲取網頁數據的一般思路是通過HTTP請求獲取網頁內容,最常用的方式是使用Python庫r…

    編程 2025-04-28
  • 使用Python模擬手機瀏覽器的方法

    解答如何使用Python模擬手機瀏覽器,並且給出示例代碼。 一、安裝Selenium庫 使用Python模擬手機瀏覽器需要使用Selenium庫。 首先,使用pip命令進行安裝: …

    編程 2025-04-28
  • 網頁防篡改的重要性和市場佔有率

    網頁防篡改對於保護網站安全和用戶利益至關重要,而市場上針對網頁防篡改的產品和服務也呈現出不斷增長的趨勢。 一、市場佔有率 據不完全統計,目前全球各類網頁防篡改產品和服務的市場規模已…

    編程 2025-04-28
  • Python每次運行變數加一:實現計數器功能

    Python編程語言中,每次執行程序都需要定義變數,而在實際開發中常常需要對變數進行計數或者累加操作,這時就需要了解如何在Python中實現計數器功能。本文將從以下幾個方面詳細講解…

    編程 2025-04-28
  • t3.js:一個全能的JavaScript動態文本替換工具

    t3.js是一個非常流行的JavaScript動態文本替換工具,它是一個輕量級庫,能夠很容易地實現文本內容的遞增、遞減、替換、切換以及其他各種操作。在本文中,我們將從多個方面探討t…

    編程 2025-04-28

發表回復

登錄後才能評論