【问题标题】:Disable IE10 clear field in Compatibility mode在兼容模式下禁用 IE10 清除字段
【发布时间】:2013-12-01 18:12:09
【问题描述】:

我不希望在 IE10 及更高版本中呈现的文本框中出现清除功能(X 按钮)。为此,我将伪元素-ms-clear 的显示设置为none。但是,当 IE 在兼容模式下运行时,它仍然会显示。由于这是一个 Intranet 站点,它将始终以兼容模式运行。并且没有解决方法:http://connect.microsoft.com/IE/feedback/details/783743/disable-ie10-clear-field-button-when-rendering-in-compatibility-mode

就生产场景而言,根据 msdn,不建议在 web.config 中使用 <add name="X-UA-Compatible" value="IE=edge" /> 强制 IE 以标准模式运行。有没有其他方法可以解决这个问题?

【问题讨论】:

  • 我用过<meta http-equiv="X-UA-Compatible" content="IE=edge">worked well。这绝对是比在兼容模式下工作更好的解决方案。
  • 根据您在问题中包含的链接,这根本不可能。 IE10/11 在兼容模式下不包含此功能。如果您想摆脱 clear 小部件,您唯一的选择就是切换到标准模式。真的没有其他方法可以解决它。 (我很想知道为什么您的网站会卡在兼容模式;很可能并不需要如此)。
  • @Spudley: IE 默认配置为在 Compat 模式下显示 Intranet 站点,我不想让用户切换到 Standard 模式。在生产中使用 IE=edge 似乎不是推荐的方式。 :(

标签: css windows internet-explorer-10 ie-compatibility-mode


【解决方案1】:

虽然绝对不建议在所有情况下将X-UA-Compatible 标头设置为IE=edge,因为它使您无法控制选择哪个“边缘”版本,这完全取决于在您信任您的代码足以充分兼容 HTML5 以在未来的浏览器中保持正确呈现的基础上。如果这样做,您可以忽略建议不要使用IE=edge,这就是为什么它是建议而不是禁止

更保守地说,您也可以选择固定版本。如果您的受众使用的是混合的 IE9、10 和 11 安装包,并且您确定它在 IE9 中运行良好 - 使用这个:

<add name="X-UA-Compatible" value="IE=9" />

这将使所有比 9 更新的 IE 也以 IE9 标准兼容模式呈现,这比基本兼容模式(本质上是 IE7 怪癖)要好得多。

简而言之 - 建议就是这样,如果您知道后果并采取适当的预防措施,可以放心地忽略。

【讨论】:

  • (迟到的评论,但是......)仅供参考,我否决了这个回复,因为它没有回答问题,这更多是关于修复 ms-clear 而不是如何使用 X-UA-Compatible(在事实上,强制 IE9 模式是导致问题的原因,而不是答案所暗示的解决方案)
【解决方案2】:

根据 microsfts 的官方回复“您报告的问题是设计使然”。这里是微软官方回复的链接link

【讨论】:

    猜你喜欢
    • 2014-10-07
    • 2013-12-02
    • 2013-01-25
    • 1970-01-01
    • 2016-11-09
    • 1970-01-01
    • 2014-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多