首頁 > Javascript, 網頁技術 > Javascript在IE列印print()時設定頁首頁尾

Javascript在IE列印print()時設定頁首頁尾

2011年12月20日     發表評論 閱讀評論
如果這篇文章有幫助到,請大方的給個讚+1!

在IE中調用JavaScript中的print()列印功能時,通常都會將網址URL列在頁尾,頁首會印出頁數,這對需要列印報表的人來說是相當困擾的,也並不是每個專案都是使用ASP或.net可以控制IE中的元件是不是很困擾咧?

唯一最可行的方法就是使用者去瀏覽器中設定列印功能中的頁首頁尾的輸出值。設定方法可以參考海竽小站的教學,但如果不想要使用者一開始就要檢查,我們可以利用以下作法,去修改Registry的值。我直接公布所有的程式碼。

<script language="javascript">
// 列印
function fnPrint() {
try    {
// 儲存原本頁首頁尾的設定,然後設定空白
var ret = saveAndClearSetting();
// 列印
window.print();
// 回存原本頁首頁尾的設定
if ( ret ) restoreSetting();
} catch (e) { alert(“err="+e.description); }
}
var hkey_path = “HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
var hkey_key_header = hkey_path+"header"; // 頁首
var hkey_key_footer = hkey_path+"footer"; // 頁尾
var hkey_key_margin_bottom = hkey_path+"margin_bottom"; // 邊界(下)
var hkey_key_margin_left = hkey_path+"margin_left"; // 邊界(左)
var hkey_key_margin_right = hkey_path+"margin_right"; // 邊界(右)
var hkey_key_margin_top = hkey_path+"margin_top"; // 邊界(上)
var old_header = “&w&b第 &p 頁,共 &P 頁";
var old_footer = “&u&b&d";
// 儲存原本頁首頁尾的設定,然後設定空白
function saveAndClearSetting() {
try {
var RegWsh = new ActiveXObject(“Wscript.Shell");
old_header = RegWsh.RegRead(hkey_key_header);
old_footer = RegWsh.RegRead(hkey_key_footer);
RegWsh.RegWrite(hkey_key_header,"");
RegWsh.RegWrite(hkey_key_footer,"");
return true;
} catch (e) {
if ( e.description.indexOf(“伺服程式無法產生物件") != -1 ) {
alert(“請調整IE瀏覽器的安全性\n網際網路選項\安全性\自訂層級\n「起始不標示為安全的ActiveX控制項」設定為啟用或提示。");
} // if
else {
alert(“ERR="+e.description);
} // else
} // catch
return false;
}
// 回存原本頁首頁尾的設定
function restoreSetting() {
try {
var RegWsh = new ActiveXObject(“WScript.Shell");
RegWsh.RegWrite(hkey_key_header,old_header);
RegWsh.RegWrite(hkey_key_footer,old_footer);
} catch (e) {
if ( e.description.indexOf(“伺服程式無法產生物件") != -1 ) {
alert(“請調整IE瀏覽器的安全性\n網際網路選項\安全性\自訂層級\n「起始不標示為安全的ActiveX控制項」設定為啟用或提示。");
} // if
else {
alert(“ERR="+e.description);
} // else
} // catch
}
</script>

將上述的Script貼到你的網頁中,然後使用fnPrint()來列印你的頁面,假如你的IE的安全性設置不正確,會彈出視窗請你設置一下,如果設置正確,即可列印頁面並且不會出現頁首頁尾嚕。


如果文章有幫助到您,請不吝的給本站贊助,任何的鼓勵都是分享的動力!

Categories: Javascript, 網頁技術 Tags: ,
  1. 目前尚無任何的評論。
  1. 目前尚無任何 trackbacks 和 pingbacks。