wxnew

这两天,遇到这样一个问题, 网页在IE8/9下好好的,用IE11访问,布局就乱了, 切换到兼容模式又好了,一开始以为是显示的兼容性,后来用fiddle抓了一下服务器返回的 html内容,发现还真是不一样,返回给IE11的页面里,所有的内联 width属性都没有了(也可能还有其它不同)。看来是IE11和 .net4的兼容性问题。

两者请求的User-Agent也不相同,

User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729;  .NET4.0C; .NET4.0E)

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko

在网上查了一下,与这个问题类似:

https://blogs.msdn.microsoft.com/scott_hanselman/2011/10/27/asp-netie10_dopostbackjavascript/
错误与修复:ASP.NET无法检测IE10,导致_doPostBack未定义JavaScript错误

在跟随.NET 2.0和.NET 4一起发布的浏览器定义文件中有一个错误,也就是它们保存相当一部分浏览器版本的定义。但是浏览器的有些版本(比如IE10)不再在这个范围之内。因此,ASP.NET把它们看做是未知的浏览器,默认降级处理,这样就会给用户带来不便,比如不支持JavaScript特性。
或者参考: http://www.cnblogs.com/lxshanye/p/4072183.html

解决的办法是下载了一个 IE11.browser文件,放到网站下的App_Browsers目录下就好了。

内容如下  

<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>
IE11.browser

 

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2021-12-31
  • 2021-04-14
  • 2021-12-24
  • 2022-12-23
  • 2022-12-23
  • 2021-11-28
  • 2022-12-23
猜你喜欢
  • 2021-09-25
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-21
  • 2021-08-30
  • 2022-12-23
相关资源
相似解决方案