CheckIEUtils.js 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. var StatusNG = 0;
  2. var StatusUP = 1;
  3. var StatusOK = 2;
  4. var IdxBrowser = 0;
  5. var IdxJs = 1;
  6. var IdxCookie = 2;
  7. var IdxPopup = 3;
  8. var IdxFlash = 4;
  9. var IdxJre = 5;
  10. var IdxZone = 6;
  11. var IdxAllowFullsize = 7;
  12. var IdxDecidePopupByIE = 8;
  13. function showEachClientCheckResult() {
  14. //运行WScript.Shell提示
  15. alert("系统在检查可信任站点时要运行ActiveX控件,\n\r可能会弹出对话框是允许ActiveX控件与页面交互的确认对话框,\n\r请点击\"是\"按钮,否则无法对其进行检查.");
  16. browser_check.innerHTML = Msg[IdxBrowser][getBrowserStatus()];
  17. js_check.innerHTML = Msg[IdxJs][StatusOK];
  18. zonemap_check.innerHTML = Msg[IdxZone][getTrustWebsiteStatus()];
  19. spanAllowFullSize.innerHTML = Msg[IdxAllowFullsize][getAllowFullSizeWindowStatus()];
  20. spanDecidePopupByIE.innerHTML = Msg[IdxDecidePopupByIE][getDecidePopupByIEStatus()];
  21. cookie_check.innerHTML = Msg[IdxCookie][getCookieStatus()];
  22. popup_check.innerHTML = Msg[IdxPopup][getPopupStatus("CheckIE/close_windows.htm")];
  23. flash_check.innerHTML = Msg[IdxFlash][getFlashStatus()];
  24. //jre_check.innerHTML = Msg[IdxJre][getJreStatus()];
  25. }
  26. function showOverallClientCheckResult(inMsg) {
  27. if (getBrowserStatus() < StatusOK
  28. || getCookieStatus() < StatusOK
  29. || getPopupStatus("CheckIE/close_windows.htm") < StatusOK
  30. || getFlashStatus() < StatusOK
  31. || getJreStatus() < StatusOK
  32. ) {
  33. client_check_link.innerHTML = inMsg;
  34. client_check_td_above.height = 20;
  35. client_check_td_below.height = 20;
  36. }
  37. }
  38. function getBrowserStatus() {
  39. var status = StatusNG;
  40. if (!checkBrowserName(" MSIE ") || !checkBrowserName("MSIE ") || !checkBrowserName("MSIE")) {
  41. status = StatusNG;
  42. } else {
  43. status = StatusOK;
  44. }
  45. return status;
  46. }
  47. function checkBrowserName(name) {
  48. var verStr = navigator.appVersion;
  49. var verNo = 0;
  50. var result = false;
  51. if (verStr.indexOf(name) != -1) {
  52. tempStr = verStr.split(name);
  53. verNo = parseFloat(tempStr[1]);
  54. if (verNo >= 6) {
  55. result = true;
  56. }
  57. }
  58. return result;
  59. }
  60. function getCookieStatus() {
  61. var status = StatusNG;
  62. var cookieStr = "wb_check=kcehc_bw";
  63. document.cookie = cookieStr;
  64. if (document.cookie.indexOf(cookieStr) > -1) {
  65. status = StatusOK;
  66. var date = new Date();
  67. date.setTime(date.getTime() - 1000);
  68. document.cookie = cookieStr + "; expires=" + date.toGMTString();
  69. }
  70. return status;
  71. }
  72. function getPopupStatus(winUrl) {
  73. var status = StatusNG;
  74. var str_feature = 'toolbar=no'
  75. + ',menubar=no'
  76. + ',scrollbars=no'
  77. + ',resizable=no'
  78. + ',status=no'
  79. + ',width=1'
  80. + ',height=1'
  81. + ',top=0'
  82. + ',left=0'
  83. + ',screenX=0'
  84. + ',screenY=0';
  85. var popup_win = window.open(winUrl, "wb_check", str_feature);
  86. if (popup_win) {
  87. status = StatusOK;
  88. }
  89. return status;
  90. }
  91. function getFlashStatus() {
  92. var MinVer = 7;
  93. var status = StatusNG;
  94. if (navigator.plugins && navigator.plugins.length && navigator.plugins.length > 0) {
  95. var flashObj = navigator.plugins["Shockwave Flash"];
  96. if (flashObj && flashObj.length && flashObj.length > 0) {
  97. var flashMimeObj = flashObj["application/x-shockwave-flash"];
  98. if (flashMimeObj) {
  99. var tempStr = flashObj.description.split(" Flash ");
  100. var verNo = parseFloat(tempStr[1]);
  101. if (verNo >= MinVer) {
  102. status = StatusOK;
  103. } else {
  104. status = StatusUP;
  105. }
  106. }
  107. }
  108. }
  109. if (status == StatusNG) {
  110. for (var i = MinVer; i > 0; i--) {
  111. try {
  112. var flashObj = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i);
  113. if (i == MinVer) {
  114. status = StatusOK;
  115. } else {
  116. status = StatusUP;
  117. }
  118. break;
  119. } catch(e) {
  120. status = StatusNG;
  121. }
  122. }
  123. }
  124. return status;
  125. }
  126. function getJreStatus() {
  127. var status = StatusNG;
  128. try {
  129. status = JREDetect.getStatus();
  130. } catch(e) {
  131. status = StatusNG;
  132. }
  133. return status;
  134. }
  135. //检查信任站点
  136. function getTrustWebsiteStatus()
  137. {
  138. var status = StatusNG;
  139. try{
  140. var WshShell=new ActiveXObject("WScript.Shell");
  141. status = StatusOK;
  142. }
  143. catch(e){
  144. status = StatusNG;
  145. }
  146. return status;
  147. }
  148. //检查选项 "允许由脚本初始化的窗口,没有大小和位置限制"
  149. function getAllowFullSizeWindowStatus()
  150. {
  151. var status = StatusNG;
  152. try{
  153. var WshShell=new ActiveXObject("WScript.Shell");
  154. var userMaxWin=WshShell.RegRead("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2\\2102");
  155. var machineMaxWin=WshShell.RegRead("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2\\2102");
  156. if(userMaxWin=="0" || machineMaxWin=="0")
  157. {
  158. status = StatusOK;
  159. }
  160. }
  161. catch(e){
  162. status = StatusNG;
  163. }
  164. return status;
  165. }
  166. //检查IE7中 把弹出窗口设置为"由Internet Exporer决定如何开打弹出窗口"
  167. function getDecidePopupByIEStatus()
  168. {
  169. var status = StatusNG;
  170. var WshShell=null;
  171. try{
  172. WshShell=new ActiveXObject("WScript.Shell");
  173. }catch(e)
  174. {
  175. status = StatusNG;
  176. return status;
  177. }
  178. try{
  179. var userPopupUseNewWindow=WshShell.RegRead("HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\TabbedBrowsing\\PopupsUseNewWindow");
  180. //var machinePopupUseNewWindow=WshShell.RegRead("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Internet Explorer\\TabbedBrowsing\\PopupsUseNewWindow");
  181. //alert(userPopupUseNewWindow+","+machinePopupUseNewWindow);
  182. if(userPopupUseNewWindow=="0")
  183. {
  184. status = StatusOK;
  185. }
  186. else
  187. {
  188. status = StatusNG;
  189. }
  190. }
  191. catch(e){
  192. //alert(e.number);
  193. status = StatusUP; //不是IE7不需检验
  194. }
  195. return status;
  196. }
  197. function getUrlDomain(){
  198. var arydomain = new Array(".com.cn",".net.cn",".org.cn",".gov.cn",".com",".cn",".net",".cc",".org",".info",".biz",".tv");
  199. var domain = document.domain;
  200. var tmpdomain = "";
  201. for(var i=0;i<arydomain.length; i++)
  202. {
  203. tmpdomain = arydomain[i];
  204. if(domain.indexOf(tmpdomain) != -1)
  205. {
  206. domain = domain.replace(tmpdomain,"");
  207. domain = domain.substring(domain.lastIndexOf(".")+1,domain.length);
  208. domain = domain + tmpdomain;
  209. break;
  210. }
  211. }
  212. return domain;
  213. }