Par défaut, ASP.NET détermine les fonctionnalités du navigateur en lisant les informations d'agent utilisateur transmises du navigateur au serveur pendant une demande. Il compare la chaîne d'agent utilisateur reçue du navigateur aux chaînes d'agent utilisateur stockées dans les fichiers de définition de navigateur. Ces fichiers de définition de navigateur contiennent des informations sur les fonctionnalités des différents agents utilisateurs. Quand ASP.NET recherche une correspondance entre la chaîne d'agent utilisateur actuelle et une chaîne d'agent utilisateur dans un fichier de définition de navigateur, il charge les fonctionnalités de navigateur correspondantes dans l'objet HttpBrowserCapabilities. Puis les propriétés de l'objet HttpBrowserCapabilities peuvent alors être utilisées pour déterminer si le type de navigateur représenté par l'agent utilisateur prend en charge les scripts, les styles, les frames, etc. Selon ces fonctionnalités, les contrôles de la page effectuent le rendu des contrôles Web à l'aide du balisage approprié.
Remarque |
|---|
Les fonctionnalités de navigateur indiquent si le type de navigateur prend en général en charge des fonctionnalités telles que JavaScript, et non si ces fonctionnalités sont activées ou désactivées dans une instance individuelle du navigateur. |
L'objet HttpBrowserCapabilities est disponible dans la propriété Browser de l'objet HttpRequest. Vous pouvez accéder à des informations sur certaines des fonctionnalités de navigateur dans les propriétés fortement typées de l'objet HttpBrowserCapabilities. D'autres fonctionnalités sont uniquement définies dans les fichiers de définition de navigateur et uniquement disponibles en tant qu'entrées dans une collection de dictionnaires.
Par exemple, pour déterminer si le type et la version du navigateur actuel prend en charge une version particulière de JavaScript, vous pouvez utiliser une propriété définie uniquement dans les fichiers de définition de navigateur (et non dans l'objet HttpBrowserCapabilitiesBase), comme indiqué dans l'exemple suivant :
string jsVersion = Request.Browser["JavaScriptVersion"];
Si le navigateur qui effectue la demande est Internet Explorer 8, la chaîne jsVersion contient la valeur « 1.5 ».
Pour déterminer si la demande provenait d'un appareil mobile, vous pouvez utiliser la propriété IsMobileDevice, comme indiqué dans l'exemple suivant :
bool isMobile = Request.Browser.IsMobileDevice;
ASP.NET stocke les fichiers de définition de navigateur par défaut dans le dossier suivant :
%SystemRoot%\Microsoft.NET\Framework\versionNumber\Config\Browsers
Remarque |
|---|
Les fichiers de définition de navigateur ont été mis à jour pour ASP.NET 4, et les nouvelles versions n'offrent pas de compatibilité descendante avec les fichiers de définition de navigateur fournis avec les versions antérieures d'ASP.NET. Pour plus d'informations, consultez Comment : mettre à niveau une application Web ASP.NET vers ASP.NET 4. |