6

我们有 ASP.NET 应用程序,目前我们正在 Windows 8.1/IE 11 上对此进行兼容性测试。发现一些与 UI 对齐、_dopostback 和 imagebutton 单击相关的问题。以前在 Windows 8/IE 10 上也遇到过同样的问题。这些问题通过在项目的 app_browser 文件夹中添加 IE 浏览器文件得到解决。但是我们还没有找到任何支持 IE 11 的 ie.browser 最新文件。从一些博客了解到有热修复来解决这个问题。尝试通过在托管机器上安装热修复,_dopostback 和 UI 对齐问题得到了解决。图像按钮单击仍然无效。

4

4 回答 4

4

我们还不能在这里全面升级到 4.5。但我能够创建自己的 ie.browser 浏览器定义文件(适用于 4.0)。

在您的项目中,添加(或创建为)App_Browsers/ie.browser,以下内容:

<!-- Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko -->
<browser id="IE11Preview" parentID="Mozilla">
    <identification>
        <userAgent match="Trident/(?'layoutVersion'\d+).*rv:(?'revision'(?'major'\d+)(\.(?'minor'\d+)?))" />
        <userAgent nonMatch="MSIE" />
    </identification>

    <capabilities>
        <capability name="browser"              value="IE" />
        <capability name="layoutEngine"         value="Trident" />
        <capability name="layoutEngineVersion"  value="${layoutVersion}" />
        <capability name="isColor"              value="true" />
        <capability name="screenBitDepth"       value="8" />
        <capability name="ecmascriptversion"    value="3.0" />
        <capability name="jscriptversion"       value="6.0" />
        <capability name="javascript"           value="true" />
        <capability name="javascriptversion"    value="1.5" />
        <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" />
        <capability name="revmajor"             value="${major}" />
        <capability name="revminor"             value="${minor}" />
    </capabilities>
</browser>

如果要添加到现有文件,请查找 id="IE10Plus" - 您可能需要将其更改为 id="IE10",因为“Plus”部分不再准确。

如果你可以去 4.5 做,但如果你不能,这可能会阻止你直到你可以。任何补丁(或升级——比如 4.5)都会覆盖这个——仅供参考......

于 2013-10-05T07:57:48.123 回答
4

这是 ASP.NET 4.0 的修补程序:

http://support.microsoft.com/kb/2836939/en-us

当然,我们都对此感到震惊……令人惊讶的是,MSft 在发布之前甚至没有考虑针对 Asp.Net 4.0 测试 IE11,这可能与大麻最近在华盛顿州合法化的事实有关。

将浏览器设置为 IE10 也可以(假设还安装了 .NET 4.0 的 IE10 修补程序)。

相关更改:这里是有关 ie11 中用户代理更改的信息。希望您不依赖于从用户代理字符串中删除内容,但我相信 ASP.NET 上级/下级逻辑仍然在 4.0 和更早版本中使用它(通过针对具有 .net4.0/ie11 的服务器将 UA 设置为 IE10 来确认)问题),但据说 4.5 会有所不同(请参阅http://www.hanselman.com/blog/IE10AndIE11AndWindows81AndDoPostBack.aspx)。

http://msdn.microsoft.com/en-us/library/ie/bg182625(v=vs.85).aspx

于 2013-10-24T18:52:33.607 回答
3

在服务器上安装 .NET 4.5。它使用已解决已知图像按钮单击问题的较新版本覆盖 ASP.NET 程序集。

我们也通过修补程序解决了这个问题,但是安装 .NET 4.5 最终被接受为我们的解决方案。

于 2013-08-30T18:26:47.033 回答
0

就我而言,解决方案更简单:

  1. 在 Windows 8 上打开 IE11
  2. 单击 Internet 选项
  3. 点击安全
  4. 转到脚本目录(在列表的末尾)
  5. 单击脚本>活动脚本上的启用单选按钮
于 2016-03-04T15:21:23.167 回答