.browser的解释

来源:互联网 发布:php一年工作经验简历 编辑:程序博客网 时间:2024/06/05 18:30

.browser是什么?浏览器定义文件在运行时,ASP.NET 使用请求标头中的信息来确定发出请求的浏览器的类型。随后,ASP.NET 使用 .browser 文件来确定浏览器的功能,以及如何向该浏览器呈现标记。

<browser >有3个属性 ID parentID refID

我新建一个浏览器文件自动生成代码如下

<!--可在 <windir>/Microsoft.NET/Framework/<ver>/CONFIG/Browsers 中找到现有的浏览器定义--><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>

不要更改 ASP.NET 随附的浏览器定义文件,因为 Service Pack 可能会更新这些文件,从而改写您所做的更改。相反,您应该创建新的 .browser 文件,并在新的浏览器定义中使用 parentID 属性来继承设置,或者使用 refID 属性向现有的浏览器定义添加功能。<browser >有3个属性 ID parentID refID  浏览器定义中必须定义 refID 属性,或者同时定义 id 和 parentID 属性。ID 指定要定义的浏览器的唯一名称。parentID指定要继承其设置的父浏览器定义的唯一名称。可以在当前浏览器定义中改写这些设置。父浏览器定义无需位于同一个浏览器定义文件中,但它必须在同一个应用程序或 %SystemRoot%/Microsoft.NET/Framework/version/CONFIG/Browsers 目录中定义。例如,WebTV 浏览器的以下定义在 WebTV.browser 文件中定义,而 IE2 父浏览器的定义在同一目录的 IE.browser 文件中定义。<browser id=" WebTV " parentID=" IE2 "> refID 指定现有的浏览器定义标识符(必须存在于<windir>/Microsoft.NET/Framework/<ver>/CONFIG/Browsers中)。使用 refID 属性将新功能与现有的浏览器定义相关联。您可以将多个浏览器节点配置为引用相同的 refID。<identification>定义有关如何从传入请求识别此浏览器的信息。userAgent  指定作为请求的用户代理标头的匹配依据的表达式。例如,IE.browser 文件中包含的 IE4 浏览器的以下定义使用 "MSIE 4" 字符串,并根据随请求发送的用户代理标头来识别浏览器。       <identification>            <userAgent match="MSIE 4" />        </identification>

 <capture>定义以下信息:在捕获有关浏览器的信息时,使用哪些额外的 header、userAgent 或 capability 元素。 <capabilities>指定针对正则表达式匹配父浏览器类中的功能值 <capability>定义要为当前的浏览器定义设置的一个功能值。

另外一个浏览器文件<browsers>

  <browser refID="Default">    <controlAdapters>      <adapter controlType="System.Web.UI.HtmlControls.HtmlForm"               adapterType="FormRewriterControlAdapter" />//这个可以自己写适配器 FormRewriterControlAdapter是自己写的类    </controlAdapters>  </browser>

</browsers>

 <controlAdapters>指定 ASP.NET Web 服务器控件与用于在当前浏览器中呈现该控件的适配器之间的映射。例如,Nokia.browser 文件中包含的 NokiaMobileBrowserRainbow 浏览器的以下定义指定使用 MenuAdapter 控件适配器类来针对浏览器改编 Menu 服务器控件:

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

 

adapter  元素中包含的必需属性有adapterType ,controlType。adapterType  指定类的名称,该类用于更改针对浏览器改编控件的方式。controlType  指定要映射到适配器的控件的名称。

 

 

原创粉丝点击