App_Browsers definition file for IE 11

大城市里の小女人 提交于 2019-11-27 18:16:42

问题


This is the user agent for IE 11 on Windows 8.1 (Preview)

 Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko

I am looking for a .browser file for either the App_Browsers folder in my application or c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\Browsers to properly detect IE11.

Since the user agent changed from containing "MSIE" such as this IE10 user agent

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

I have tried about 100 variations with no success.


回答1:


I created a file containing

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

and it worked for me. Based on answer by Sistemas-infoe on this question: doPostback failing in IE 11+ Windows 8.1




回答2:


.NET Framework 4.5.1 update adds new browser definition files: http://www.microsoft.com/en-us/download/details.aspx?id=40773




回答3:


I am finding the same problem with IE11 on IIS.

There was an official MS patch for IE10, but, they seem to have only fixed it for that explicit version, rather than for future (and, kind of expected) revisions of the browser.

Scott Hanselman provided a local project for IE10, and perhaps he will update it for IE11.

Here is a link to the patch for IE10 in .NET/IIS

The NuGet package for IE 10

Regarding the comment about not needing to use the .browsers file, I totally agree, however, this issue is (I believe) an issue with IIS/.NET 4

Cheers

Andy



来源:https://stackoverflow.com/questions/17417420/app-browsers-definition-file-for-ie-11

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!