在兼容模式下禁用IE10清除字段功能。

3
我不希望在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 在web.config中使用来强制IE以标准模式运行在生产环境中并不被推荐,根据msdn。是否有其他方法可以解决这个问题?

3
我使用了 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 并且它效果很好。这绝对是比在兼容模式下工作更好的解决方案。 - Kobi
根据您在问题中提供的链接,这是不可能的。IE10/11在兼容模式下不包括此功能。如果您想要摆脱清除小部件,您唯一的选择就是切换到标准模式。实际上没有其他方法可以解决这个问题。(我很好奇为什么您的网站被困在兼容模式中;很有可能它并不需要这样)。 - Spudley
@Spudley:IE默认配置为在兼容模式下显示内部网站,我不想让用户自己切换到标准模式。在生产中使用IE=edge似乎不是推荐的方法。 :( - CopyPasteDev
2个回答

1
根据微软的官方回应,“您报告的问题是按设计而非失误所造成的”。这是微软官方回应的链接link

0

虽然在所有情况下都不建议将X-UA-Compatible头设置为IE=edge,因为这会使您失去控制权,无法选择“edge”版本,但这完全取决于您是否相信自己的代码足够符合HTML5标准,以便在未来的浏览器中继续正确呈现。如果是这样,您可以忽略不使用IE=edge建议,这就是为什么它是一个建议而不是禁止

更保守的做法是选择一个固定的版本。如果您的受众使用混合的IE9、10和11安装程序,并且您确定它在IE9中运行良好-请使用此选项:

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

这将使所有比9更高版本的IE也以IE9标准兼容模式呈现,这比基本兼容模式(实际上是IE7 Quirks模式)要好得多。

简而言之 - 建议只是建议,如果您了解后果并采取适当的预防措施,可以安全地忽略它们。


(虽然有点晚了,但是)我downvote了这个回答,因为它没有回答问题,问题更多地是关于修复ms-clear而不是如何使用X-UA-Compatible(实际上,强制IE9模式才是导致问题的原因,而不是答案所暗示的解决方案)。 - patstuart

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接