控制 IE 網頁檢查網頁暫存版本設定
最近專案之中用了太多的Ajax,所以瀏覽器的問題也愈來愈多了
像有些效果,需要在IE設定需在「檢查儲存的畫面是否有較新的版本」時選擇每次造訪網頁時才能正常,所以我們可以在使用者使用前做一個檢測網頁,檢查所需的相關設定及元件是否有安裝上去。目前在銀行及證券業所提供的網路服務中,就常會有這樣的檢測網頁,那要如何做呢?
去網路上找到了解答,在此整理並記錄下來,給自己及大家一個參考:
SyncMode5 參數設定值說明:
每次造訪網頁時 |
3 |
每次啟動 Internet Explorer 時 |
2 |
自動 |
4 |
無 |
0 |
這是我寫的一個方法,透過WScript.Shell 進行查詢
var autorefreshsite_str =””;
try{
var WshShell = new ActiveXObject(“WScript.Shell”);
regKey = “HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\SyncMode5”
temp=WshShell.RegRead(regKey);
switch(temp){
case 2:
autorefreshsite_str = “每次啟動 Internet Explorer 時”;
break;
case 3:
autorefreshsite_str = “每次造訪網頁時”;
break;
case 4:
autorefreshsite_str = “自動”;
break;
case 0:
autorefreshsite_str = “無”;
break;
default:
autorefreshsite_str = “無法查明(“+temp+”)”;
}
}catch(e){ //找不到信任網站
autorefreshsite_str = “無法檢測,請您自我檢查(請在上方選單工具>網際網路選項>瀏覽歷程記錄>設定),是否是設定每次造訪網頁時”;
}
return autorefreshsite_str;
}
執行這個方法,可得到目前的IE設定值,如果要改寫設定,參考網站有些了幾個用VB Script or VB.Net的方法,在此只介紹用執行reg檔案的方式更新,只要讓人下載並執行以下檔案內容,即可自動更新為 每次造訪網頁,內容如下:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
“SyncMode5″=dword:00000003
Update : 原本記錄是字串,後來在使用才發現是要用DWORD 8/1
記得要提醒重新啟動瀏覽器才會生效喔!!
參考網頁:
http://tw.myblog.yahoo.com/hammerchou/article?mid=1167&prev=1176&next=1132
近期留言