Il y a souvent des inexactitudes lors de l'utilisation de $.browser.version. Je les ai rencontrées récemment et j'ai fait des résumés dont je ne sais pas s'ils sont complets.
Le résultat de l'utilisation de navigator.userAgent.indexOf("MSIE 8.0") de javasript est le même.
1. Utilisez un navigateur Web pour charger des pages htm et html. À l'heure actuelle, il est inexact d'obtenir la version d'IE après le chargement. Par exemple, ma machine est IE9, mais après le chargement via le navigateur Web, le fichier $. La méthode browser.version est obtenue. La version devient 7.0, utilisez "
La solution à ce problème est de l'obtenir via le registre en arrière-plan :
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;
}
}
2. Compatible x-ua " content="IE=5;IE=7;IE=8;"/>" force l'analyse. Ma machine est IE9 Après avoir ajouté cette balise, la version obtenue par $.browser.version est 8.0. .
3. Dans le cas d'Iframes imbriqués, si la couche externe est analysée par IE8 et la couche interne est analysée par IE9, la version obtenue par la couche interne est IE9, mais la page est en fait analysée selon IE8, ce qui fera que le jugement ne correspond pas à l'exécution réelle.
L'application de cette situation devrait être relativement rare. Si elle est rencontrée, elle peut être résolue par un jugement simultané par une analyse interne et externe.
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn