jQueryはIEバージョンの不正確なwebrowsterの解決方法を獲得しました。

1140 ワード

browser.versionを使って、不正確な状況がよく出てきます。最近会って、いくつかの総括をしましたが、全面的かどうか分かりません。javasriptのnavigator.userAgent.indexOf(「MSIE 8.0」)で採取した結果は同じです。1、webbrowswerでhttm、htmlページをロードした後、IEのバージョンを取得するのは正確ではありません。例えば、私のマシンはIE 9ですが、webbrowswerを通じてロードした後、$browser.version方法で取得したバージョンは7.0になりました。IE=7;IE=8;IE=9;“/>”強制解析後に取得したバージョンは依然として7.0であり、webrowswerが正しい結果を得るためにはレジストリを修正する必要があります。この問題の解決策は、バックグラウンドでレジストリによって取得される:
 
<span style="font-size:18px;">private int GetIEVersion()
{
using (Microsoft.Win32.RegistryKey versionKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Internet Explorer"))
{
string version = versionKey.GetValue("Version").ToString();
int iVersion = int.Parse(version.Substring(0, 1));
return iVersion;
}
}</span>
2、「meta http-equiv=「x-ual-comptible」でcontent=「IE=5」である。IE=7;IE=8;“/>”強制解析では、私のマシンはIE 9です。このラベルを追加してから$browser.versionで得られたバージョンは8.0です。3、入れ子Iframeの状況は、外層がIE 8解析で内部層がIE 9解析である場合、内部層が取得したバージョンはIE 9であるが、実際のページはIE 8で解析されており、判断と実際の実行が一致しないことになる。このような場合の応用は少ないはずです。内外の解析を通して判断すれば解決できます。