本文目錄一覽:
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-hant/n/294124.html