萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> jQuery獲得IE版本不准確webbrowser的解決方法

jQuery獲得IE版本不准確webbrowser的解決方法

 用$.browser.version經常出現一些不准確的狀況,最近碰到,做了一些總結,不知道是否全面。 

  用javasript的navigator.userAgent.indexOf("MSIE 8.0")取法結果是一樣的。    1、用webbrowser加載htm、html頁面,此時加載後獲取IE的版本就是不准確的,比如我的機器是IE9,但是通過webbrowser加載之後,$.browser.version方法取得的版本便是變成了7.0,用“<meta http-equiv="x-ua-compatible" content="IE=5;IE=7;IE=8;IE=9;"/>”強制解析後取得的版本依然是7.0,如果想要webbrowser取得正確的結果還是要修改注冊表。    此種問題的解決方案是:在後台通過注冊表獲取:   代碼如下: <span style="font-size:18px;">private int GetIEVersion()  {  using (Microsoft.Win32.RegistryKey versionKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"SoftwareMicrosoftInternet Explorer"))  {  string version = versionKey.GetValue("Version").ToString();  int iVersion = int.Parse(version.Substring(0, 1));  return iVersion;  }  }</span>    2、用“<meta http-equiv="x-ua-compatible" content="IE=5;IE=7;IE=8;"/>”強制解析,我的機器是IE9,添加此標簽之後,再$.browser.version獲得的版本是8.0。    3、嵌套Iframe的狀況,如果外層是IE8解析,內層是IE9解析,這樣內層獲取的版本是IE9,但是實際上頁面是按照IE8來解析,這樣就會造成判斷和實際的執行不符合。    此種情況應用應該比較少,如果遇到需通過內外層解析同時判斷方可解決。   
copyright © 萬盛學電腦網 all rights reserved