到處蒐集免費有用的軟體、線上服務、小技巧……

banner 背景來源Flicker| 點閱次數:

[筆記]用Javascript控制IE列印時的頁首頁尾

主要是用WScript.Shell是讀寫Registry的值。
若發生「 Automation 伺服程式無法產生物件」的錯誤就要調整IE的安全性設定,將「起始不標示為安全的ActiveX控制項」設定為啟用或提示。

<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>

5 留言:

GG瑋 提到...

請問一下版大

這個是外國人寫的DEMO

http://newzen-for-blogger.blogspot.com/

下載位置

[url=http://www.bloggertemplates.org/review/newzen-for-blogger#myreview]here[/url]

這個下載回來的檔案要如何使用?

國良先生 提到...

要套用新模板的話請到控制主頁中的 範本 -> 修改 HTML。
你可以直接上傳新的模板 .xml 檔,然後直接套用,或是在修改範本的編輯框裡貼上新模板的原始碼。
更多關於版面配置的說明可以參考 Blogger 官方的說明:
http://help.blogger.com/bin/topic.py?topic=10274

匿名 提到...

請救救我
我msn8.0
但是明明我是設定四碼的密碼
但是一按下登入鍵
密碼就變成8個*符號

匿名 提到...

請問,
是否有支援firefox?
因為我用firefox測試時,

此行會出錯,
var RegWsh = new ActiveXObject("WScript.Shell");

國良先生 提到...

TO 樓上匿名
這個方法只對IE有效。
1.firefox的列印設定並非儲存在系統登錄中
2.ActiveXObject物件是IE才有,firefox不支援