2013-07-02 16 views
8

Это агент пользователя для IE 11 на Windows, 8.1 (Preview)App_Browsers файл определения для IE 11

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

Я ищу .browser файл для каждой папки App_Browsers в моем приложении или C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config \ Браузеры для корректного обнаружения IE11.

Поскольку агент пользователя изменяется от содержащего «MSIE», таких как этого IE10 агент пользователя

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

Я попытался около 100 вариаций без успеха.

+1

Зачем вам нужен файл .browser? Обход браузера известен тем, что он нарушает вещи, а .Net еще более печально известен тем, что браузер плохо нюхает (это была причина, по которой мы изменили строку UA в Opera, когда мы там работали, поскольку она обнаружила Opera 10 как Opera 1). Если вы хотите использовать обнюхивание браузером, возможно, есть другой способ. –

+0

@DavidStorey: Одна из причин может заключаться в том, что .NET определяет, что работает для клиента, обнаруживая браузер. Когда IIS не распознает IE11, он не разрешает Cookies сеанса для одного. –

ответ

0

Я нахожу ту же проблему с IE11 на IIS.

Был установлен официальный патч MS для IE10, но они, похоже, только фиксировали его для этой явной версии, а не для будущих (и, как ожидалось) версий браузера.

Scott Hanselman предоставил локальный проект для IE10, и, возможно, он обновит его для IE11.

Here является ссылка на патч для IE10 в .NET/IIS

NuGet package для IE 10

Что касается замечания о не необходимости использовать файл .browsers, я полностью согласен, однако, этот вопрос (я считаю) проблема с IIS/.NET 4

Приветствия

Энди

+0

Я думаю, http://support.microsoft.com/kb/2836947 - это обновленная версия раннего исправления. – EricLaw

7

Я создал файл, содержащий

<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-info на этот вопрос: doPostback failing in IE 11+ Windows 8.1

+0

изменить <идентификатор браузера id = "IE110" parentID = "IE11"> до anotherdie

+0

Здравствуйте, я делаю эти изменения, это работает на моей локальной машине (Windows 7 с IE11), но меняет не отображаются на сервере (Windows Server 2008 R2). –