Sdílet prostřednictvím


Schéma definičního souboru prohlížeče (element browsers)

Definiční soubor prohlížeče obsahuje definice pro jednotlivé prohlížeče. Technologie ASP.NET používá při běhu informace z hlavičky žádosti pro zjištění, jaký typ prohlížeče žádost učinil. Následně technologie ASP.NET použije soubor .browser, aby určila schopnosti prohlížeče. Adaptéry ovládacích prvků ASP.NET mohou tyto informace použít k přizpůsobení chování ovládacích prvků webového serveru technologie ASP.NET v závislosti na typu zařízení. Například serverový prvek může generovat různý obsah HTML pro grafické prohlížeče, jako je například Internet Explorer, než by tomu bylo v případě mobilních zařízení.

PoznámkaPoznámka

Definiční soubory prohlížeče byly zavedeny s rozhraním .NET Framework verze 2.0.V dřívějších verzích rozhraní .NET Framework sloužil element browserCaps k definici prohlížečů v konfiguračních souborech.

<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>

Atributy a prvky

Prvek

Popis

adapter

Určuje mapování mezi serverovými prvky technologie ASP.NET a adaptéry použitými k vykreslování v aktuálním prohlížeči. Například následující definice prohlížeče NokiaMobileBrowserRainbow obsažená v souboru Nokia.browser určuje, že serverové ovládací prvky Menu budou pro prohlížeč upraveny třídou adaptéru MenuAdapter:

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

Následující tabulka popisuje požadované atributy, které jsou obsaženy v elementu adapter.

AtributPopis
adapterType Požadované String atributu.Určuje název třídy, která se používá ke změně přizpůsobení ovládacího prvku prohlížeči.
controlType Požadovaný atribut typu StringUrčuje název ovládacího prvku, který bude mapován na adaptér.

Element adapter neobsahuje žádné podřízený prvky.

browser

Určuje definici jediného prohlížeče.

Následující tabulka popisuje atributy, které může element browser obsahovat.

PoznámkaPoznámka
Neměli byste měnit definiční soubory prohlížeče dodávané s technologií ASP.NET, protože aktualizace Service Pack může tyto soubory přepsat.Místo toho vytvořte nové soubory .browser a použijte v nové definici prohlížeče atribut parentID tak, aby zdědil nastavení, nebo použijte atribut refID pro přidání dalších schopností k existující definici prohlížeče.

Definice prohlížeče musí definovat buď atribut refID nebo kombinaci id a parentID v případě vícehodnotových atributů.

AtributPopis
id String atribut, vyžadován, pokud parentID atribut použit.Určuje jedinečný název definovaného prohlížeče.
parentID Atribut typu String, který je požadován v případě použití atributu id. Určuje jedinečný název definice nadřazeného prohlížeče, ze které se dědí nastavení.Toto nastavení lze přepsat v definici aktuálního prohlížeče.Definice nadřazeného prohlížeče nemusí být ve stejném definičním souboru, ale musí být definována ve stejné aplikaci nebo v adresáři %SystemRoot%\Microsoft.NET\Framework\Verze\CONFIG\Browsers.Například následující definice pro prohlížeč WebTV je definována v souboru WebTV.browser.Definice pro nadřazený prohlížeč IE2 je definován v souboru IE.browser ve stejném adresáři. <browser id=" WebTV " parentID=" IE2 ">
refID
Atribut typu String nemůže být použit v případě použití atributů id a parentID. Určuje identifikátor definice existujícího prohlížeče.Pro přidání dalších možností k existující definici prohlížeče, použijte atribut refID. Můžete nakonfigurovat více uzlů prohlížeče, které se odkazují na stejné refID. Pokud je zadán atribut refID, nesmí element browser obsahovat podřízený prvek identification. Atribut refID nenahrazuje cílový element. Namísto toho jsou jeho nastavení použita až po nastavení všech ostatních atributů. Pořadí, v jakém budou nastavení použita, je následující:
  • všechny uzly <gateway parentID >

  • všechny uzly <gateway refID>

  • všechny uzly <browser parentID>

  • všechny uzly <browser refID>

Následující příklad přidává nové schopnosti k existující definici prohlížeče IE, která je umístěna v souboru IE.browser.
<browser refID="IE">
    <capabilities>
        <capability name="UseRichTextBox" value="true" />
    </capabilities>
    <controlAdapters>
        <adapter controlType="System.Web.UI.Calendar"
adapterType="ExampleAdapters.ExampleIECalendarAdapter"
        />
    </controlAdapters>
</browser>

Element browser nemusí obsahovat žádný podřízený prvek, nebo může obsahovat jeden z následujících podřízených prvků:

  • capabilities

  • capture

  • controlAdapters

  • identification

  • sampleHeaders

browsers

Představuje požadovaný kořenový element souboru .browser.

capabilities

Definuje hodnoty schopností pro nastavení definice aktuálního prohlížeče. Seznam typově silných schopností prohlížeče je obsažen ve vlastnostech třídy HttpCapabilitiesBase. Většina těchto vlastností používá v souborech s definicí prohlížeče zápis typu camelCase. Můžete také přidat vlastní hodnoty schopností.

Element capabilities neobsahuje žádné atributy.

Element capabilities nemusí obsahovat žádný podřízený prvek, nebo může obsahovat jeden z následujících podřízených prvků:

  • capability

capability (podřízený element capabilities)

Definuje jedinou hodnotu schopnosti k nastavení definice aktuálního prohlížeče. Například následující schopnosti jsou definovány pro prohlížeč IE v definičním souboru IE.browser. Tento příklad definice dědí ostatní schopnosti ze souboru Mozilla.browser prohlížeče Mozilla. Hodnoty, které obsahují text uvnitř značky dolaru následované složenými závorkami (${}), jsou nahrazeny odpovídajícími výrazy v podřízeném elementu userAgent elementu 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>

Element capability obsahuje následující požadované atributy.

AtributPopis
name Požadované String atributu.Určuje název schopnosti.Seznam typově silných schopností prohlížeče je obsažen ve vlastnostech třídy HttpCapabilitiesBase. Většina těchto vlastností používá v definičních souborech prohlížeče zápis vlastností stylem camelCase, například canSendMail místo CanSendMail. Můžete také přidat vlastní hodnoty schopností.
value Požadovaný atribut typu StringUrčuje hodnotu schopnosti.Přípustné hodnoty pro každou z vlastností silného typu prohlížeče, jsou uvedeny ve vlastnostech třídy HttpCapabilitiesBase. Hodnotový atribut může obsahovat zachycené proměnné uvnitř "${}"

Element capability neobsahuje žádné podřízený prvky.

capability (podřízený element identification nebo capture)

Určuje, že hodnota schopnosti nadřazené třídy prohlížeče je porovnávána regulárním výrazem. Například následující definice prohlížeče IE5to9 obsažená v souboru IE.browser, používá element capability k určení, aby nastavení schopnosti majorversion nadřazené definice IE muselo odpovídat vloženému regulárnímu výrazu tak, že tato definice prohlížeče musí odpovídat definici prohlížeče klienta. Tento příklad definice prohlížeče zahrnuje prvky capability, které přidávají nebo přepisují prvky v nadřazené definici.

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

Následující tabulka popisuje atributy, capability prvek obsahuje. Musí být definován pouze jeden z atributů match nebo nonMatch. Nikoli oba najednou.

AtributPopis
match String atribut, lze použít stejný prvek jako nonMatch atributu.Určuje regulární výraz, kterému musí nastavení nadřazené schopnosti odpovídat pro splnění této identifikace.Informace o formátování regulárních výrazů naleznete v tématu regulární výrazy pro rozhraní .NET framework.
name Požadovaný atribut typu StringUrčuje název nadřazené schopnosti.
nonMatch Atribut typu String nemůže být použit ve stejném prvku společně s atributem match. Tento atribut není použit v podřízeném elementu capability elementu capture. Určuje regulární výraz, kterému musí nastavení nadřazené schopnosti odpovídat pro splnění této identifikace.

Element capability neobsahuje žádné podřízený prvky.

capture

Definuje způsob, jakým elementy header, userAgent nebo capability zachycují informace o prohlížeči. Tato možnost je užitečná při pokusu o rozpoznání nových prohlížečů, které nebyly k dispozici v rozhraní .NET Framework 2.0 v době vydání. Pro zachycení hodnot může definice prohlížeče pro identifikaci jakéhokoli elementu obsahovat regulární výraz v atributu match. Například následující element userAgent, který je definován v souboru IE.browser, zachycuje z hlavičky žádosti uživatelského agenta výšku obrazovky v pixelech.

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

Definice prohlížeče také může prohledáním hlavičky požadavku zachytit dodatečné informace, které nejsou používány k rozlišení třídy prohlížeče. Například následující element capture zachytává počet softwarových kláves mobilního telefonu OpenWave. Softwarové klávesy zobrazují nabídky a příkazy při stisknutí odpovídající hardwarových tlačítek na chytrých telefonech se systémem Windows Mobile:

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

Element capture neobsahuje žádné atributy.

Element capture nemusí obsahovat žádný podřízený prvek, nebo může obsahovat jeden z následujících podřízených prvků:

  • header

  • userAgent

  • capability

controlAdapters

Určuje adaptér ovládacího prvku pro přizpůsobení serverového ovládacího prvku prohlížeči.

Následující tabulka popisuje atributy, které může element controlAdapters obsahovat.

AtributPopis
markupTextWriterType Volitelný String atributu.Určuje typ zapisovače textu rozhraní .NET Framework, který je použit.Výchozí typ je System.Web.UI.XhtmlTextWriter, ale pro tento atribut mohou být použity i hodnoty System.Web.UI.Html32TextWriter, System.Web.UI.HtmlTextWriter, System.Web.UI.ChtmlTextWriter, nebo libovolná vlastní třída odvozená z jedné z těchto tříd.

controlAdapters Element může obsahovat nula či více následujících podřízený prvek:

  • adapter

defaultBrowser

Definuje schopnosti výchozího prohlížeče v souboru Default.browser. Definice výchozího prohlížeče neodpovídá žádnému konkrétnímu prohlížeči, ale je používána ostatními definicemi pro zdědění nastavení. Například v souboru Default.browser je obsažena následující definice prohlížeče Default:

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

Z definice výchozího prohlížeče dění mnoho definic prohlížečů. Například následující definice prohlížeče Panasonic je obsažena v souboru Panasonic.browser.

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

Následující tabulka popisuje atributy, které může element defaultBrowser obsahovat.

AtributPopis
id Požadované String atributu.Určuje jedinečný název pro prohlížeč.

Element defaultBrowser může obsahovat stejné podřízené prvky jako element browser.

gateway

Určuje definici jediné brány. Některé mobilní prohlížeče jsou připojeny k webovému serveru skrze bránu, která může přidávat své vlastní schopnosti. U prvků s více branami je možné se odkazovat na stejné atributy refID.

Element gateway může obsahovat stejné atributy a podřízený prvky jako element browser. Například následující definice brány IE3AK pochází ze souboru IE.browser.

    <gateway id="IE3AK" parentID="IE3">
        <identification>
            <capability name="extra" match="; AK;" />
        </identification>
        <capture>
        </capture>
        <capabilities>
            <capability name="ak"  value="true" />
        </capabilities>
    </gateway>
PoznámkaPoznámka
Soubor s definicí prohlížeče nemůže obsahovat element browser, jehož atribut parentID se odkazuje na element gateway z výchozího definičního souboru umístěném v adresáři %SystemRoot\Microsoft.NET\Framework\versionNumber\CONFIG\Browsers. Avšak lze nastavit atribut parentID tak, aby se odkazoval na soubor definice jiného prohlížeče ve stejné složce App_Browsers.

header (podřízený element identification nebo capture)

Určuje výraz, oproti kterému se porovnává nebo zachycuje hlavička protokolu HTTP v žádosti. Například následující definice prohlížeče Wml obsažená v souboru Default.browser rozpoznává shodu prohlížeče porovnáním hlavičky Accept oproti dvěma regulárním výrazům.

<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>

Následující tabulka popisuje atributy, které může element header obsahovat. Musí být definován pouze jeden z atributů match nebo nonMatch. Nikoli oba najednou.

AtributPopis
match String atribut, lze použít stejný prvek jako nonMatch atributu.Určuje regulární výraz, který musí odpovídat hlavičce žádosti, aby byla tato identifikace splněna.Informace o formátování regulárních výrazů naleznete v tématu regulární výrazy pro rozhraní .NET framework.
name Požadovaný atribut typu StringUrčuje název hlavičky.
nonMatch String atribut, lze použít stejný prvek jako match atributu.Tento atribut není použit v podřízeném elementu capability elementu capture. Určuje regulární výraz, který musí odpovídat hlavičce žádosti, aby nebyla tato identifikace splněna.

Element header neobsahuje žádné podřízené prvky.

header (podřízený element sampleHeaders)

Určuje jednu ukázkovou hlavičku pro tento prohlížeč. Tento element je volitelný a je pouze pro informativní účely. Simulátor nebo ladicí nástroj může použít tuto sadu hlaviček k emulaci žádosti prohlížeče.

Následující tabulka popisuje atributy, header prvek obsahuje.

AtributPopis
name Volitelný String atributu.Určuje název hlavičky.
value Volitelný String atributu.Určuje hodnotu hlavičky.

header Element obsahuje žádné podřízené prvky.

identification

Definuje informace o způsobu, jakým je prohlížeč identifikován z příchozí žádosti.

Element identification neobsahuje žádné atributy.

Element identification může obsahovat jeden nebo více z následujících podřízených prvků:

  • header

  • userAgent

  • capability

sampleHeaders

Určuje sadu vzorů hlaviček pro tento prohlížeč. Tento element je volitelný a je pouze pro informativní účely. Simulátor nebo ladicí nástroj může použít tuto sadu hlaviček k emulaci žádosti prohlížeče.

Element sampleHeaders neobsahuje žádné atributy.

sampleHeaders Element může obsahovat nula či více následujících podřízený prvek:

  • header

userAgent

Určuje výraz, oproti kterému se porovnává shoda hlavičky požadavku uživatelského agenta. Například následující definice prohlížeče IE4, která je obsažena v souboru IE.browser, využívá řetězec "MSIE 4" pro rozpoznání hlavičky prohlížeče, která je poslána uživatelským agentem společně s požadavkem.

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

Následující tabulka popisuje atributy, které může element userAgent obsahovat. Musí být definován pouze jeden z atributů match nebo nonMatch. Nikoli oba najednou.

AtributPopis
match String atribut, lze použít stejný prvek jako nonMatch atributu.Určuje regulární výraz, kterému musí uživatelský agent vyhovovat, aby splňoval požadavky identifikace.Informace o formátování regulárních výrazů naleznete v tématu regulární výrazy pro rozhraní .NET framework.
nonMatch Atribut typu String nemůže být použit ve stejném prvku společně s atributem match. Určuje regulární výraz, kterému uživatelský agent nesmí vyhovovat, aby splňoval požadavky identifikace.Tento atribut není použit v podřízeném elementu capability elementu capture.

Element userAgent neobsahuje žádné podřízené prvky.

Poznámky

Pokud zjistíte, že žádný z existujících souborů s definicemi prohlížečů nesplňuje kritéria, můžete vytvořit nové soubory definic prohlížečů, pomocí kódu z částí Příklad uvedené níže.

Poznámka k zabezpečeníPoznámka k zabezpečení

Není doporučeno stahovat nebo instalovat soubory s definicemi prohlížečů od jiných společností, pokud nedůvěřujete jejich původu.Prozkoumejte nový definiční soubor prohlížeče, abyste jste zjistili, zda se odkazuje do neznámého oboru názvů.Další informace naleznete v tématu Zabezpečení souborů definice prohlížeče.

Předdefinované soubory s definicemi prohlížečů jsou uloženy v adresáři %SystemRoot%\Microsoft.NET\Framework\Verze\CONFIG\Browsers. Soubory s definicí prohlížeče na úrovni aplikace mohou být umístěny v adresáři App_Browsers dané aplikace. V obou umístěních musí mít soubory s definicí prohlížeče příponu .browser. Neměli byste měnit definiční soubory prohlížeče dodávané s technologií ASP.NET, protože aktualizace Service Pack může tyto soubory přepsat. Místo toho vytvořte nový soubor .browser a použijte atribut parentID v nové definici prohlížeče browser tak, aby zdědil nastavení, nebo použijte atribut refID pro přidání dalších schopností ke stávající definici prohlížeče.

V době spuštění jsou informace z definičních souborů sloučeny do kolekce známých prohlížečů v objektu BrowserCapabilitiesFactory. Jakmile je vytvořena žádost, technologie ASP.NET rozpozná pomocí hlavičky odpovídající prohlížeč a zkompiluje objekt HttpBrowserCapabilities odpovídající typu požadovaného prohlížeče. Toto se provede spuštěním s prázdným slovníkem a následným aplikováním rekurzivních kroků na stromu s definicí prohlížečů:

  1. Spuštění s výchozí definicí prohlížeče, která je vždy považována za úspěšně rozpoznanou.

  2. Sloučení hodnot schopností uvedených v této definici prohlížeče do slovníku schopností pro tento prohlížeč. Hodnoty uvedené v definici prohlížeče přepisují hodnoty nastavené v nadřazené položce.

  3. Vyhodnocení shody všech definicí podřízených prvků. Pro každý odpovídající podřízený prvek se pokračuje znovu od kroku 1. Definice prohlížečů jsou vyhodnoceny po definicích bran. Pokud uživatelský agent odpovídá více než jedné definici prohlížeče, nebo více než jedné definici brány, je v době spuštění vyvolána výjimka .

Objekt HttpBrowserCapabilities je uložen do mezipaměti a může být znovu použit pro různé žádosti od stejného typu prohlížeče.

Webová aplikace může přistupovat k aktuální instanci objektu HttpBrowserCapabilities pomocí vlastnosti HttpRequest.Browser. Tento objekt je pouze pro čtení a obsahuje vlastnosti pro každou schopnost. Alternativně může vývojář webu napsat vlastní třídu, která dědí z třídy HttpBrowserCapabilities a udržuje instanci ve vlastnosti HttpRequest.Browser.

Změny v souborech .browser umístěných v adresáři App_Browsers znehodnotí platnost mezipaměti a při další žádosti způsobí opětovnou kompilaci aplikace. Avšak pokud jsou provedeny změny v souborech .browser v adresáři %SystemRoot%\Microsoft.NET\Framework\Verze\CONFIG\Browsers, je potřeba aplikaci ručně překompilovat pomocí nástroje %SystemRoot%\Microsoft.NET\Framework\Verze\aspnet_regbrowsers.exe, nebo ji překompilovat programově pomocí třídy BrowserCapabilitiesCodeGenerator.

PoznámkaPoznámka

Použití elementu browserCaps pro definici prohlížečů v souboru Web.config je v rozhraní .NET Framework 2.0 označeno jako zastaralé, avšak se nadále podporováno. Data v tomto prvku jsou sloučena s informacemi ze souborů s definicemi prohlížečů.

Když prohlížeč odešle žádost směrem k vaší aplikaci, jsou ve vlastnosti Browser uloženy schopnosti vašeho prohlížeče. Identita prohlížeče je uložena ve vlastnosti UserAgent. Ovládací prvky technologie ASP.NET si vyžádají seznam schopností prohlížeče, aby se rozhodly, jak vhodně přizpůsobit chování ovládacích prvků pro různé prohlížeče.

Možnosti

Seznam typově silných schopností prohlížeče je obsažen ve vlastnostech třídy HttpCapabilitiesBase. Tyto vlastnosti používají v souborech s definicí prohlížeče zápis typu camelCase. Například pokud chcete specifikovat v definičním souboru prohlížeče schopnost BackgroundSounds, dopište ji tam jako backgroundSounds.

Můžete také definovat své vlastní schopnosti.

Webová aplikace může získat hodnoty schopností z objektu HttpBrowserCapabilities jedním z následujících dvou způsobů:

  • Přístupem do slovníku schopností. Tuto metodu můžete použít pro vlastní schopnosti.

    Například k získání hodnoty schopnosti ECMAScript (jazyk JavaScript) z aktuálního prohlížeče klienta, můžete použít následující kód:

    String cap_javascript = Request.Browser["javascript"];
    
  • Voláním typově silné vlastnosti, která obaluje schopnost.

    Například k získání hodnoty schopnosti ECMAScript (jazyk JavaScript) z aktuálního prohlížeče klienta, můžete použít následující kód:

    String cap_javascript = Request.JavaScript;
    

Výchozí konfigurace

Rozhraní .NET Framework přináší předdefinované soubory s definicemi ve složce %SystemRoot%\Microsoft.NET\Framework\Verze\CONFIG\Browsers. Můžete vytvořit definiční soubory na úrovni aplikace ve složce App_Browsers příslušné aplikace. Informace o speciálních adresářích technologie ASP.NET naleznete v tématu Struktura složek webového projektu ASP.NET.

Následující ukázka kódu je ze souboru Generic.browser ve složce %SystemRoot%\Microsoft.NET\Framework\Verze\CONFIG\Browsers.

PoznámkaPoznámka

Neměňte žádné existující definiční soubory prohlížeče v adresáři %SystemRoot%\Microsoft.NET\Framework\Verze\CONFIG\Browsers.Tyto jsou rozhraním .NET Framework zachovány.

<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>

Příklad

Následující příklad kódu je prázdný soubor .browser, který je možné vytvořit. Dejte pozor, abyste nevytvářeli ve svých souborech cyklické odkazy.

<?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>

Informace prvku

Obslužná rutina konfigurace oddílu

System.Web.Configuration.HttpCapabilitiesSectionHandler

Konfigurační členy

HttpRequest.Browser

HttpCapabilitiesBase.Browsers

HttpCapabilitiesBase.Capabilities

System.Web.HttpBrowserCapabilities

Konfigurovatelná umístění

Adresář prohlížečů na úrovni počítače

Adresář prohlížečů na úrovni aplikace

Požadavky

Internetová informační služba (IIS) 5.0 nebo novější.

Rozhraní .NET framework verze 2.0 nebo novější

Visual Studio 2005 nebo novější

Viz také

Úkoly

Postup: Rozpoznání typů prohlížečů a možnosti prohlížeče na webových stránkách ASP.NET

Odkaz

Browsers

Capabilities

HttpCapabilitiesSectionHandler

HttpBrowserCapabilities

Element deviceFilters (schéma nastavení ASP.NET)

Element mobileControls (schéma nastavení ASP.NET)

Element browserCaps (schéma nastavení ASP.NET)

Koncepty

Ovládací prvky webového serveru technologie ASP.NET a schopnosti prohlížeče

Zabezpečení souborů definice prohlížeče

Scénáře konfigurace technologie ASP.NET

Přehled filtrování zařízení technologie ASP.NET

Architektonický přehled adaptivního chování ovládacích prvků

Další zdroje

Technologie ASP.NET pro mobilní telefony: Úřední Microsoft ASP.NET webu

Obecné nastavení konfigurace (technologie ASP.NET)

Nastavení konfigurace ASP.NET