Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iis IE 11的应用程序浏览器定义文件_Iis_User Agent_Internet Explorer 11 - Fatal编程技术网

Iis IE 11的应用程序浏览器定义文件

Iis IE 11的应用程序浏览器定义文件,iis,user-agent,internet-explorer-11,Iis,User Agent,Internet Explorer 11,这是Windows 8.1上IE 11的用户代理(预览版) 我正在为应用程序中的App\u Browsers文件夹或c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\Browsers查找.browser文件,以正确检测IE11 由于用户代理已从包含“MSIE”更改为此IE10用户代理 Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0; Touch) 我尝试

这是Windows 8.1上IE 11的用户代理(预览版)

我正在为应用程序中的App\u Browsers文件夹或c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\Browsers查找.browser文件,以正确检测IE11

由于用户代理已从包含“MSIE”更改为此IE10用户代理

 Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0; Touch)

我尝试了大约100种变体,但没有成功。

我发现IIS上的IE11也存在同样的问题

IE10有一个官方的MS补丁,但是,他们似乎只为该显式版本修复了它,而不是为浏览器的未来(以及某种预期)版本修复了它

Scott Hanselman为IE10提供了一个本地项目,也许他会为IE11更新它

是指向.NET/IIS中IE10修补程序的链接

IE 10的最新版本

关于不需要使用.browsers文件的评论,我完全同意,但是,这个问题(我相信)是IIS/.NET 4的问题

干杯


Andy

.NET Framework 4.5.1更新添加了新的浏览器定义文件:

我创建了一个包含

<browsers>

    <browser id="IE11" parentID="Mozilla">
        <identification>
            <userAgent match="Trident\/7.0; rv:(?'version'(?'major'\d+)(\.(?'minor'\d+)?)(?'letters'\w*))(?'extra'[^)]*)" />
            <userAgent nonMatch="IEMobile" />
        </identification>
        <capture>
            <userAgent match="Trident/(?'layoutVersion'\d+)" />
        </capture>
        <capabilities>
            <capability name="browser" value="IE" />
            <capability name="layoutEngine" value="Trident" />
            <capability name="layoutEngineVersion" value="${layoutVersion}" />
            <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>
    </browser>

    <!-- Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11,0) like Gecko -->
    <browser id="IE110" parentID="IE11">
        <identification>
            <capability name="majorversion" match="11" />
        </identification>
        <capabilities>
            <capability name="ecmascriptversion" value="3.0" />
            <capability name="jscriptversion" value="5.6" />
            <capability name="javascript" value="true" />
            <capability name="javascriptversion" value="1.5" />
            <capability name="msdomversion" value="${majorversion}.${minorversion}" />
            <capability name="w3cdomversion" value="1.0" />
            <capability name="ExchangeOmaSupported" value="true" />
            <capability name="activexcontrols" value="true" />
            <capability name="backgroundsounds" value="true" />
            <capability name="cookies" value="true" />
            <capability name="frames" value="true" />
            <capability name="javaapplets" value="true" />
            <capability name="supportsCallback" value="true" />
            <capability name="supportsFileUpload" value="true" />
            <capability name="supportsMultilineTextBoxDisplay" value="true" />
            <capability name="supportsMaintainScrollPositionOnPostback" value="true" />
            <capability name="supportsVCard" value="true" />
            <capability name="supportsXmlHttp" value="true" />
            <capability name="tables" value="true" />
            <capability name="supportsAccessKeyAttribute" value="true" />
            <capability name="tagwriter" value="System.Web.UI.HtmlTextWriter" />
            <capability name="vbscript" value="true" />
        </capabilities>
    </browser>

</browsers>

这对我很有效。根据Sistemas infoe对此问题的回答:

为什么需要.browser文件?浏览器嗅探因破坏东西而臭名昭著,而.Net更因浏览器嗅探严重错误而臭名昭著(这是我们在Opera工作时在Opera中更改UA字符串的全部原因,因为它将Opera 10检测为Opera 1)。如果您想使用浏览器嗅探,可能还有另一种方法。@DavidStorey:原因之一可能是.NET通过检测浏览器来确定什么适用于客户端。当IIS无法识别IE11时,它不允许会话cookie。我认为这是早期修补程序的更新版本。更改为Hello我进行了这些更改它可以在我的本地计算机上运行(使用IE11的windows 7),但更改不会反映在服务器上(windows server 2008 R2)。
<browsers>

    <browser id="IE11" parentID="Mozilla">
        <identification>
            <userAgent match="Trident\/7.0; rv:(?'version'(?'major'\d+)(\.(?'minor'\d+)?)(?'letters'\w*))(?'extra'[^)]*)" />
            <userAgent nonMatch="IEMobile" />
        </identification>
        <capture>
            <userAgent match="Trident/(?'layoutVersion'\d+)" />
        </capture>
        <capabilities>
            <capability name="browser" value="IE" />
            <capability name="layoutEngine" value="Trident" />
            <capability name="layoutEngineVersion" value="${layoutVersion}" />
            <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>
    </browser>

    <!-- Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11,0) like Gecko -->
    <browser id="IE110" parentID="IE11">
        <identification>
            <capability name="majorversion" match="11" />
        </identification>
        <capabilities>
            <capability name="ecmascriptversion" value="3.0" />
            <capability name="jscriptversion" value="5.6" />
            <capability name="javascript" value="true" />
            <capability name="javascriptversion" value="1.5" />
            <capability name="msdomversion" value="${majorversion}.${minorversion}" />
            <capability name="w3cdomversion" value="1.0" />
            <capability name="ExchangeOmaSupported" value="true" />
            <capability name="activexcontrols" value="true" />
            <capability name="backgroundsounds" value="true" />
            <capability name="cookies" value="true" />
            <capability name="frames" value="true" />
            <capability name="javaapplets" value="true" />
            <capability name="supportsCallback" value="true" />
            <capability name="supportsFileUpload" value="true" />
            <capability name="supportsMultilineTextBoxDisplay" value="true" />
            <capability name="supportsMaintainScrollPositionOnPostback" value="true" />
            <capability name="supportsVCard" value="true" />
            <capability name="supportsXmlHttp" value="true" />
            <capability name="tables" value="true" />
            <capability name="supportsAccessKeyAttribute" value="true" />
            <capability name="tagwriter" value="System.Web.UI.HtmlTextWriter" />
            <capability name="vbscript" value="true" />
        </capabilities>
    </browser>

</browsers>