Partager via


Schéma du fichier de définition de navigateur (élément browsers)

Les fichiers de définition de navigateur contiennent des définitions pour les navigateurs individuels. Au moment de l'exécution, ASP.NET utilise les informations de l'en-tête de demande pour déterminer le type de navigateur qui a fait la requête. ASP.NET utilise ensuite des fichiers browser pour déterminer les fonctions du navigateur. Les adaptateurs de contrôles ASP.NET peuvent utiliser ces informations pour adapter le comportement d'un contrôle serveur Web ASP.NET en fonction du type de périphérique. Par exemple, un contrôle serveur peut générer pour un navigateur graphique tel qu'Internet Explorer un code HTML différent de celui d'un appareil mobile.

RemarqueRemarque

Les fichiers de définition de navigateur ont été introduits dans .NET Framework version 2.0Dans les versions précédentes du .NET Framework, l'élément browserCaps servait à définir des définitions de navigateur dans les fichiers de configuration.

<browsers>
    <browser id="browser name"
             parentID="parent browser name"
             refID="reference ID">
        <identification>
            <userAgent match="regular expression"
                       nonMatch="regular expression" />
            <header match="regular expression"
                    name="header name"
                    nonMatch="regular expression" />
            <capability match="regular expression"
                        name="capability name"
                        nonMatch="regular expression" />
        </identification>
        <capture>
            <userAgent match="regular expression" />
            <header match="regular expression"
                    name="header name" />
            <capability match="regular expression"
                        name="capability name" />
        </capture>
        <capabilities>
            <capability name="capability name"
                        value="capability value" />
        </capabilities>
        <controlAdapters markupTextWriterType="type name">
            <adapter adapterType="name of adapter class"
                     controlType="name of control class" />
        </controlAdapters>
        <sampleHeaders>
            <header name="header name"
                    value="header value" />
        </sampleHeaders>
    </browser>
    <gateway id="gateway ID"
             parentID="parent browser ID">
        <!-- Same child elements as for <browser>.
        <identification></identification>
        <capture></capture>
        <capabilities></capabilities>
        <controlAdapters></controlAdapters>
        <sampleHeaders></sampleHeaders>
         -->
    </gateway>
    <defaultBrowser id="Default" 
                    parentID="parent browser ID"
                    refID="reference ID" >
        <!-- Same child elements as for <browser>.
        <identification></identification>
        <capture></capture>
        <capabilities></capabilities>
        <controlAdapters></controlAdapters>
        <sampleHeaders></sampleHeaders>
         -->
    </defaultBrowser>
</browsers>

Attributs et éléments

Élément

Description

adapter

Spécifie un mappage entre un contrôle serveur Web ASP.NET et l'adaptateur utilisé pour le restituer dans le navigateur actuel. Par exemple, la définition suivante du navigateur NokiaMobileBrowserRainbow contenu dans le fichier Nokia.browser spécifie que les contrôles serveur Menu sont adaptés au navigateur à l'aide de la classe d'adaptateur de contrôle MenuAdapter :

    <controlAdapters markupTextWriterType="System.Web.UI.XhtmlTextWriter" >
        <adapter
          controlType="System.Web.UI.WebControls.Menu"
          adapterType="System.Web.UI.WebControls.Adapters.MenuAdapter">
        </adapter>
    </controlAdapters>

Le tableau suivant décrit les attributs requis qui sont contenus dans l'élément adapter.

AttributDescription
adapterType Attribut String requis.Spécifie le nom de la classe qui est utilisée pour modifier la façon dont le contrôle est adapté au navigateur.
controlType Attribut String requis.Spécifie le nom du contrôle à mapper à l'adaptateur.

L'élément adapter ne contient pas d'éléments enfants.

browser

Définit une seule définition de navigateur.

Le tableau suivant décrit les attributs pouvant être contenus dans l'élément browser.

RemarqueRemarque
Ne modifiez pas les fichiers de définition de navigateur fournis avec ASP.NET car les Service Packs peuvent mettre à jour ces fichiers, remplaçant ainsi vos modifications.Créez plutôt de nouveaux fichiers browser et utilisez l'attribut parentID dans une nouvelle définition de navigateur pour hériter des paramètres ou utilisez l'attribut refID pour ajouter des fonctions à une définition de navigateur existante.

Une définition de navigateur doit définir l'attribut refID ou les attributs id et parentID à la fois.

AttributDescription
id Attribut String, requis si l'attribut parentID est utilisé.Spécifie le nom unique du navigateur qui est défini.
parentID Attribut String, requis si l'attribut id est utilisé.Spécifie le nom unique de la définition de navigateur parent à partir duquel hériter des paramètres.Ces paramètres peuvent être remplacés dans la définition de navigateur actuelle.La définition de navigateur parent ne doit pas se trouver dans le même fichier de définition de navigateur mais doit être définie dans la même application ou dans le répertoire %SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers.Par exemple, la définition suivante du navigateur WebTV est définie dans le fichier WebTV.browser.La définition du navigateur parent IE2 est définie dans le fichier IE.browser du même répertoire. <browser id=" WebTV " parentID=" IE2 ">
refID
Attribut String, ne peut pas être utilisé si les attributs id et parentID sont utilisés.Spécifie un identificateur de définition de navigateur existant.Utilisez l'attribut refID pour associer de nouvelles fonctions à une définition de navigateur existante.Vous pouvez configurer plusieurs nœuds de navigateur pour faire référence au même refID.Si l'attribut refID est spécifié, l'élément browser ne peut pas contenir d'élément enfant identification.L'attribut refID ne remplace pas l'élément ciblé ; au lieu de cela, ses paramètres sont appliqués une fois que tous les autres paramètres d'attribut ont été appliqués.L'ordre d'application des paramètres est le suivant :
  • tous les nœuds <gateway parentID>

  • tous les nœuds <gateway refID>

  • tous les nœuds <browser parentID>

  • tous les nœuds <browser refID>

L'exemple de définition suivant ajoute de nouvelles fonctions à la définition de navigateur IE existante contenue dans le fichier IE.browser.
<browser refID="IE">
    <capabilities>
        <capability name="UseRichTextBox" value="true" />
    </capabilities>
    <controlAdapters>
        <adapter controlType="System.Web.UI.Calendar"
adapterType="ExampleAdapters.ExampleIECalendarAdapter"
        />
    </controlAdapters>
</browser>

L'élément browser peut contenir zéro ou un des éléments enfants suivants :

  • capabilities

  • capture

  • controlAdapters

  • identification

  • sampleHeaders

browsers

Représente l'élément racine obligatoire d'un fichier browser.

capabilities

Définit des valeurs de fonction à définir pour la définition de navigateur actuelle. Pour obtenir la liste de fonctions de navigateur fortement typées, consultez les propriétés de la classe HttpCapabilitiesBase. La plupart de ces propriétés utilisent la casse mixte dans les fichiers de définition de navigateur. Vous pouvez également ajouter vos propres valeurs de fonction.

L'élément capabilities ne contient pas d'attributs.

L'élément capabilities peut contenir zéro ou plusieurs des éléments enfants suivants :

  • capability

capability (élément enfant de capabilities)

Définit une seule valeur de fonction à définir pour la définition de navigateur actuelle. Par exemple, les fonctions suivantes sont définies pour la définition de navigateur IE dans le fichier IE.browser. Cet exemple de définition hérite d'autres fonctions de la définition de navigateur Mozilla dans le fichier Mozilla.browser. Les valeurs qui contiennent du texte à l'intérieur d'un signe dollar suivi d'accolades ($ {}) sont remplacées par les valeurs capturées dans l'expression correspondante dans l'élément enfant userAgent de l'élément identification "^Mozilla[^(]*\([C|c]ompatible;\s*MSIE (?'version'(?'major'\d+)(?'minor'\.\d+)(?'letters'\w*))(?'extra'[^)]*)".

    <capabilities>
        <capability name="browser"          value="IE" />
        <capability name="extra"            value="${extra}" />
        <capability name="isColor"          value="true" />
        <capability name="letters"          value="${letters}" />
        <capability name="majorversion"     value="${major}" />
        <capability name="minorversion"     value="${minor}" />
        <capability name="screenBitDepth"   value="8" />
        <capability name="type"             value="IE${major}" />
        <capability name="version"          value="${version}" />
    </capabilities>

L'élément capability contient les attributs requis suivants.

AttributDescription
name Attribut String requis.Spécifie le nom de la fonction.Pour obtenir la liste de fonctions de navigateur fortement typées, consultez les propriétés de la classe HttpCapabilitiesBase.La plupart de ces propriétés utilisent la casse mixte dans les fichiers de définition de navigateur, par exemple, canSendMail au lieu de CanSendMail.Vous pouvez également ajouter vos propres valeurs de fonction.
value Attribut String requis.Spécifie la valeur de la fonction.Les valeurs possibles de chacune des fonctions de navigateur fortement typées sont répertoriées dans les propriétés de la classe HttpCapabilitiesBase.L'attribut value peut contenir des variables capturées à l'intérieur de "$ {}"

L'élément capability ne contient pas d'éléments enfants.

capability (élément enfant de identification ou capture)

Spécifie que la valeur d'une fonction de la classe du navigateur parent doit être comparée à une expression régulière. Par exemple, la définition suivante du navigateur IE5to9 contenu dans le fichier IE.browser utilise un élément capability pour spécifier que le paramètre de la fonction majorversion de la définition parente IE doit correspondre à l'expression régulière incluse afin que cette définition de navigateur soit comparée au navigateur du client. Cet exemple de définition de navigateur inclut des éléments capability qui s'ajoutent ou remplacent des éléments dans la définition parente.

    <browser id="IE5to9" parentID="IE">
        <identification>
            <capability name="majorversion" match="^[5-9]" />
        </identification>
        <!-- Capability elements. -->
    </browser>

Le tableau suivant décrit les attributs contenus dans l'élément capability. L'attribut match ou nonMatch doit être défini, mais pas les deux.

AttributDescription
match Attribut String, ne peut pas être utilisé dans le même élément que l'attribut nonMatch.Spécifie l'expression régulière à laquelle le paramètre de fonction parente doit correspondre pour satisfaire cette identification.Pour plus d'informations sur la mise en forme d'expressions régulières, consultez Expressions régulières du .NET Framework.
name Attribut String requis.Spécifie le nom de la fonction parente.
nonMatch Attribut String, ne peut pas être utilisé dans le même élément que l'attribut match.Cet attribut n'est pas utilisé dans l'élément enfant capability de l'élément capture.Spécifie l'expression régulière à laquelle le paramètre de fonction parente ne doit pas correspondre pour satisfaire cette identification.

L'élément capability ne contient pas d'éléments enfants.

capture

Définit des informations sur les autres éléments header, userAgent ou capability à utiliser pour capturer des informations sur le navigateur. Cela est utile lors d'une tentative de détection des nouveaux navigateurs qui n'étaient pas disponibles lors du lancement du .NET Framework 2.0. Pour capturer des valeurs, une définition de navigateur peut inclure des captures d'expression régulière dans l'attribut match d'un élément identification. Par exemple, l'élément userAgent suivant défini dans le fichier IE.browser capture la hauteur de l'écran en pixels à partir de l'en-tête de demande de l'agent utilisateur (user agent).

    <capture>
        <userAgent match="PalmSource; Blazer 3\.0\)\s\d+;(?'screenPixelsHeight'\d+)x(?'screenPixelsWidth'\d+)$" />
    </capture>

Une définition de navigateur peut également avoir à capturer des informations supplémentaires en analysant les en-têtes de demande qui ne sont pas utilisés pour distinguer la classe de navigateur. Par exemple, l'élément capture suivant capture le nombre de touches programmables pour un téléphone cellulaire OpenWave. Les touches programmables affichent les menus et les commandes lorsque vous appuyez sur les boutons matériels correspondants sur les SmartPhone Windows Mobile :

    <capture>
        <header name="HTTP_X_UP_DEVCAP_NUMSOFTKEYS" 
                match="(?'softkeys'\d+)" />
    </capture>

L'élément capture ne contient pas d'attributs.

L'élément capture peut contenir zéro ou plusieurs des éléments enfants suivants :

  • header

  • userAgent

  • capability

controlAdapters

Définit un adaptateur de contrôle à utiliser pour adapter le contrôle serveur sur le navigateur.

Le tableau suivant décrit l'attribut contenu dans l'élément controlAdapters .

AttributDescription
markupTextWriterType Attribut String facultatif.Spécifie le type .NET Framework du writer de texte de balisage à utiliser.Le type par défaut est System.Web.UI.XhtmlTextWriter, mais d'autres valeurs possibles pour cet attribut sont System.Web.UI.Html32TextWriter, System.Web.UI.HtmlTextWriter, System.Web.UI.ChtmlTextWriter ou toute classe personnalisée dérivée de l'une de ces classes.

L'élément controlAdapters peut contenir zéro ou plusieurs des éléments enfants suivants :

  • adapter

defaultBrowser

Définit des fonctions de navigateur par défaut dans le fichier Default.browser. Les définitions de navigateur par défaut ne correspondent pas à un navigateur physique spécifique mais sont utilisées par d'autres définitions pour hériter des paramètres. Par exemple, la définition de navigateur Default suivante est contenue dans le fichier Default.browser :

    <defaultBrowser id="Default">
        <capabilities>
            <capability name="ecmascriptversion"   value="0.0" />
            <capability name="javascript"          value="false" />
            <capability name="jscriptversion"      value="0.0" />
        </capabilities>
    </defaultBrowser>

La définition de navigateur par défaut est héritée par beaucoup d'autres définitions de navigateur. Par exemple, la définition suivante du navigateur Panasonic est contenue dans le fichier Panasonic.browser.

<browser id="Panasonic" parentID="Default">

Le tableau suivant décrit l'attribut contenu dans l'élément defaultBrowser.

AttributDescription
id Attribut String requis.Spécifie le nom unique du navigateur.

L'élément defaultBrowser peut contenir les mêmes éléments enfants que l'élément browser.

gateway

Spécifie une seule définition de passerelle. Certains navigateurs mobiles sont connectés au serveur Web à travers une passerelle qui peut ajouter ses propres fonctions. Plusieurs éléments gateway peuvent faire référence au même attribut refID.

L'élément gateway peut contenir les mêmes attributs et éléments enfants que l'élément browser. Par exemple, la définition suivante pour la passerelle IE3AK est obtenue à partir du fichier IE.browser.

    <gateway id="IE3AK" parentID="IE3">
        <identification>
            <capability name="extra" match="; AK;" />
        </identification>
        <capture>
        </capture>
        <capabilities>
            <capability name="ak"  value="true" />
        </capabilities>
    </gateway>
RemarqueRemarque
Vous ne pouvez pas avoir de fichier de définition de navigateur dans votre application qui contient un élément browser dont l'attribut parentID fait référence à un élément gateway dans les fichiers de définition par défaut localisée dans le répertoire %SystemRoot\Microsoft.NET\Framework\NuméroVersion\CONFIG\Browsers.Toutefois, vous pouvez définir l'attribut parentID de manière à faire référence à un fichier de définition de navigateur différent dans le même dossier App_Browsers.

header (élément enfant de identification ou capture)

Spécifie une expression à partir de laquelle comparer ou capturer un en-tête HTTP spécifique dans la requête. Par exemple, la définition suivante du navigateur Wml contenu dans le fichier Default.browser identifie un navigateur correspondant en comparant l'en-tête Accept à deux expressions régulières.

<identification>
    <header name="Accept" 
            match="text/vnd\.wap\.wml|text/hdml" />
    <header name="Accept" 
            nonMatch="application/xhtml\+xml; profile|application/vnd\.wap\.xhtml\+xml" />
</identification>

Le tableau suivant décrit les attributs contenus dans l'élément header. L'attribut match ou nonMatch doit être présent, mais pas les deux.

AttributDescription
match Attribut String, ne peut pas être utilisé dans le même élément que l'attribut nonMatch.Spécifie l'expression régulière à laquelle la valeur d'en-tête de demande doit correspondre pour satisfaire cette identification.Pour plus d'informations sur la mise en forme d'expressions régulières, consultez Expressions régulières du .NET Framework.
name Attribut String requis.Spécifie le nom de l'en-tête.
nonMatch Attribut String, ne peut pas être utilisé dans le même élément que l'attribut match.Cet attribut n'est pas utilisé dans l'élément enfant capability de l'élément capture.Spécifie l'expression régulière à laquelle la valeur d'en-tête de demande ne doit pas correspondre pour satisfaire cette identification.

L'élément header ne contient pas d'éléments enfants.

header (élément enfant de sampleHeaders)

Spécifie un seul exemple d'en-tête pour ce navigateur. Cet élément est facultatif et à titre informatif uniquement. Un simulateur ou un outil de débogage peut utiliser ce jeu d'en-têtes pour émuler le navigateur pour une requête.

Le tableau suivant décrit les attributs contenus dans l'élément header.

AttributDescription
name Attribut String facultatif.Spécifie le nom de l'en-tête.
value Attribut String facultatif.Spécifie la valeur de l'en-tête.

L'élément header ne contient pas d'éléments enfants.

identification

Définit des informations concernant l'identification de ce navigateur à partir de la requête entrante.

L'élément identification ne contient pas d'attributs.

L'élément identification peut contenir un ou plusieurs des éléments enfants suivants :

  • header

  • userAgent

  • capability

sampleHeaders

Spécifie un jeu d'exemples d'en-têtes pour ce navigateur. Cet élément est facultatif et à titre informatif uniquement. Un simulateur ou un outil de débogage peut utiliser ce jeu d'en-têtes pour émuler le navigateur pour une requête.

L'élément sampleHeaders ne contient pas d'attributs.

L'élément sampleHeaders peut contenir zéro ou plusieurs des éléments enfants suivants :

  • header

userAgent

Spécifie une expression à laquelle l'en-tête de l'agent utilisateur d'une requête doit être comparé. Par exemple, la définition suivante du navigateur IE4 contenue dans le fichier IE.browser utilise la chaîne "MSIE 4" pour identifier le navigateur par l'en-tête de l'agent utilisateur qu'il envoie avec la requête.

        <identification>
            <userAgent match="MSIE 4" />
        </identification>

Le tableau suivant décrit les attributs contenus dans l'élément userAgent. L'attribut match ou nonMatch doit être présent, mais pas les deux.

AttributDescription
match Attribut String, ne peut pas être utilisé dans le même élément que l'attribut nonMatch.Spécifie l'expression régulière à laquelle l'agent utilisateur doit correspondre pour satisfaire cette identification.Pour plus d'informations sur la mise en forme d'expressions régulières, consultez Expressions régulières du .NET Framework.
nonMatch Attribut String, ne peut pas être utilisé dans le même élément que l'attribut match.Spécifie l'expression régulière à laquelle l'agent utilisateur ne doit pas correspondre pour satisfaire cette identification.Cet attribut n'est pas utilisé dans l'élément enfant capability de l'élément capture.

L'élément userAgent ne contient pas d'éléments enfants.

Notes

Si aucun des fichiers de définition de navigateur existants ne répond à vos critères, vous pouvez créer de nouveaux fichiers de définition de navigateur en utilisant le code dans la section Exemple ci-dessous.

Note de sécuritéNote de sécurité

Ne téléchargez pas ou n'installez pas de fichiers de définition de navigateur à partir de tiers à moins que leur source ne soit fiable.Examinez un nouveau fichier de définition de navigateur afin de vérifier que tous les espaces de noms inhabituels sont référencés.Pour plus d'informations, consultez Sécurisation de fichiers de définitions de navigateur.

Les fichiers de définition de navigateur prédéfinis sont stockés dans le répertoire %SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers. Les fichiers de définition de navigateur au niveau de l'application peuvent être placés dans le répertoire App_Browsers de l'application. Dans les deux emplacements, les fichiers de définition de navigateur doivent avoir une extension de nom de fichier browser. Ne modifiez pas les fichiers de définition de navigateur fournis avec ASP.NET car les Service Packs peuvent mettre à jour ces fichiers, remplaçant ainsi vos modifications. Créez plutôt de nouveaux fichiers browser et utilisez l'attribut parentID dans une nouvelle définition browser pour hériter des paramètres ou utilisez l'attribut refID pour ajouter des fonctions à une définition de navigateur existante.

Au moment de l'exécution, les informations du fichier de définition de navigateur sont fusionnées dans une collection de navigateurs connus dans un objet BrowserCapabilitiesFactory. Lorsqu'une demande est faite, ASP.NET identifie le navigateur demandeur à l'en-tête de la demande et compile un objet HttpBrowserCapabilities qui correspond au type du navigateur demandé. Pour cela, commencez avec un dictionnaire vide et appliquez les étapes récursives suivantes à l'arborescence de la définition de navigateur :

  1. Commencez par la définition de navigateur par défaut qui est toujours considérée une correspondance réussie

  2. Fusionnez les valeurs de fonction spécifiées dans cette définition de navigateur dans le dictionnaire de fonctions de ce navigateur Les valeurs spécifiées dans une définition de navigateur substituent les valeurs définies dans un parent

  3. Évaluez chaque définition enfant afin d'établir une correspondance. Pour chaque enfant correspondant, recommencez à l'étape 1. Les définitions de navigateur sont évaluées après les définitions de passerelle. Si l'agent utilisateur correspond à plusieurs définitions de navigateur ou à plusieurs définitions de passerelle, une exception est levée au moment de l'exécution.

L'objet HttpBrowserCapabilities est mis en cache et peut encore être utilisé pour une requête différente faite par le même type de navigateur.

Une application Web peut accéder à l'instance actuelle de l'objet HttpBrowserCapabilities à l'aide de la propriété HttpRequest.Browser. Cet objet est en lecture seule et contient des propriétés pour chaque fonction. Un développeur de site Web peut également générer une classe personnalisée qui hérite de la classe HttpBrowserCapabilities et stocke une instance dans la propriété HttpRequest.Browser.

Les modifications apportées aux fichiers browser situés dans le répertoire App_Browsers invalident le cache et la requête suivante provoquera la recompilation de l'application. Toutefois, si des modifications sont apportées aux fichiers .browser dans le répertoire %SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers, vous devez recompiler manuellement l'application en utilisant l'outil %SystemRoot%\Microsoft.NET\Framework\version\aspnet_regbrowsers.exe ou le recompiler par programme en utilisant la classe BrowserCapabilitiesCodeGenerator.

RemarqueRemarque

L'utilisation de l'élément browserCaps dans le fichier Web.config pour définir des navigateurs est déconseillée dans le .NET Framework 2.0 mais encore prise en charge.Les données dans cet élément sont fusionnées avec les informations des fichiers de définition de navigateur.

Lorsqu'un navigateur fait une requête à votre application, les fonctions du navigateur sont stockées dans la propriété Browser. L'identité du navigateur est stockée dans la propriété UserAgent. Les contrôles serveur Web ASP.NET interrogent la liste des fonctions afin de prendre des décisions concernant l'adaptation appropriée du comportement des contrôles de différents navigateurs.

Fonctions

Pour obtenir la liste de fonctions de navigateur fortement typées, consultez les propriétés de la classe HttpCapabilitiesBase. Ces propriétés utilisent la casse mixte dans les fichiers de définition de navigateur. Par exemple, si vous souhaitez spécifier la fonction BackgroundSounds dans votre fichier de définition de navigateur, entrez-la sous la forme backgroundSounds.

Vous pouvez également définir vos propres fonctions.

Une application Web peut récupérer des valeurs de fonction de l'objet HttpBrowserCapabilities de l'une des deux façons suivantes :

  • En accédant au dictionnaire des fonctions. Vous pouvez utiliser cette méthode pour les fonctions personnalisées.

    Par exemple, vous pouvez utiliser le code suivant pour obtenir la valeur de la fonction ECMAScript (JavaScript) du navigateur actuel du client :

    String cap_javascript = Request.Browser["javascript"];
    
  • En appelant une propriété fortement typée qui encapsule une fonction.

    Par exemple, vous pouvez utiliser le code suivant pour obtenir la valeur de la fonction ECMAScript du navigateur actuel du client :

    String cap_javascript = Request.JavaScript;
    

Configuration par défaut

Le .NET Framework est fourni avec des fichiers de définition de navigateur prédéfinis situés dans le répertoire %SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers. Vous pouvez créer des fichiers de définition de navigateur au niveau de l'application dans le répertoire App_Browsers de votre application. Pour plus d'informations sur les répertoires ASP.NET spéciaux, consultez Structure des dossiers de projet Web ASP.NET.

L'exemple de code suivant est un extrait du fichier Generic.browser situé dans le répertoire %SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers.

RemarqueRemarque

Ne modifiez pas les fichiers de définition de navigateur existants situés dans le répertoire %SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers.Ceux-ci sont maintenus par le .NET Framework.

<browsers>
    <browser id="GenericDownlevel" parentID="Default">
        <identification>
            <userAgent match="^Generic Downlevel$" />
        </identification>
        <capture>
        </capture>
        <capabilities>
            <capability name="cookies"
                        value="false" />
            <capability name="ecmascriptversion" 
                        value="1.0" />
            <capability name="tables"
                        value="true" />
            <capability name="type"
                       value="Downlevel" />
        </capabilities>
        <controlAdapters>
        <adapter controlType="System.Web.UI.WebControls.Menu"
                     adapterType="System.Web.UI.WebControls.Adapters.MenuAdapter" />
        </controlAdapters>
    </browser>
    <browser id="Mozilla" parentID="Default">
        <identification>
            <userAgent match="Mozilla" />
        </identification>
        <capture>
        </capture>
        <capabilities>
            <capability name="browser"
                        value="Mozilla" />
            <capability name="cookies"
                        value="false" />
            <capability name="inputType"
                        value="keyboard" />
            <capability name="isColor"
                        value="true" />
            <capability name="isMobileDevice"
                        value="false" />
            <capability name="maximumRenderedPageSize"
                        value="300000" />
            <capability name="screenBitDepth"
                        value="8" />
            <capability name="supportsBold"
                        value="true" />
            <capability name="supportsCss"
                        value="true" />
            <capability name="supportsDivNoWrap"
                        value="true" />
            <capability name="supportsFontName"
                        value="true" />
            <capability name="supportsFontSize"
                        value="true" />
            <capability name="supportsImageSubmit"
                        value="true" />
            <capability name="supportsItalic"
                        value="true" />
            <capability name="type"
                        value="Mozilla" />
        </capabilities>
    </browser>
</browsers>

Exemple

L'exemple de code suivant est un fichier browser vide sur lequel vous pouvez générer. Veillez à ne pas créer de références circulaires dans vos fichiers browser.

<?xml version="1.0" encoding="utf-8"?>

<browsers>
    <browser id="NewBrowser" parentID="Mozilla">
        <identification>
            <userAgent match="Unique User Agent Regular Expression" />
        </identification>

        <capture>
            <userAgent match="NewBrowser (?'version'\d+\.\d+)" />
        </capture>

        <capabilities>
            <capability name="browser" value="My New Browser" />
            <capability name="version" value="${version}" />
        </capabilities>
    </browser>

    <browser refID="Mozilla">
        <capabilities>
            <capability name="xml" value="true" />
        </capabilities>
    </browser>
</browsers>

Informations sur les éléments

Gestionnaire de section de configuration

System.Web.Configuration.HttpCapabilitiesSectionHandler

Membres de configuration

HttpRequest.Browser

HttpCapabilitiesBase.Browsers

HttpCapabilitiesBase.Capabilities

System.Web.HttpBrowserCapabilities

Emplacements configurables

Répertoire Browsers racine de l'ordinateur

Répertoire App_Browsers au niveau de l'application

Spécifications

Services IIS (Internet Information Services) version 5.0 ou ultérieure

.NET Framework version 2.0 ou ultérieure

Visual Studio 2005 ou une version ultérieure

Voir aussi

Tâches

Comment : détecter les types de navigateurs et les fonctionnalités de navigateur dans les pages Web ASP.NET

Référence

Browsers

Capabilities

HttpCapabilitiesSectionHandler

HttpBrowserCapabilities

deviceFilters, élément (Schéma des paramètres ASP.NET)

mobileControls, élément (Schéma des paramètres ASP.NET)

browserCaps, élément (Schéma des paramètres ASP.NET)

Concepts

Fonctionnalités des contrôles serveur Web ASP.NET et du navigateur

Sécurisation de fichiers de définitions de navigateur

Scénarios de configuration ASP.NET

Vue d'ensemble des filtres de périphérique ASP.NET

Vue d'ensemble de l'architecture du comportement des contrôles adaptables

Autres ressources

ASP.NET for Mobiles : The Official Microsoft ASP.NET Site

Paramètres généraux de configuration (ASP.NET)

Paramètres de configuration ASP.NET