【发布时间】:2013-06-16 07:38:37
【问题描述】:
我正在开发一个需要使用 Internet Explorer 的“IE5 Quirks Mode”(使用X-UA-Compatible: IE=5 设置)的旧版网络应用程序。
应用程序中的许多文本字段都有(应用程序生成的)“x”按钮来清除内容。在 IE10 中,IE 还会生成一个“x”按钮来清除字段,因此用户会看到其中两个。
如this question 中所述,您可以使用::-ms-clear CSS 伪元素删除 IE 生成的“x”。不幸的是,这在 IE5 Quirks 模式下似乎不起作用:::-ms-clear 伪元素的样式在开发人员工具中显示为:unknown,并且 IE 生成的“x”继续出现。
除了重写应用程序以使用现代浏览器模式之外,还有什么办法可以摆脱 IE 生成的“x”?
以下是在 IE10 下运行时重现 IE5 Quirks Mode 问题的测试页面:
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=5">
<style type="text/css">
::-ms-clear { width: 0; height: 0; }
</style>
</head>
<body>Enter some text:<input></body>
</html>
【问题讨论】:
-
必须改用应用程序生成的按钮吗?它们是否提供了某些 IE10 生成的功能没有的功能?因为我认为在这种情况下无法删除 IE10 生成的那些。
-
应用程序生成的“x”按钮确实提供了一些其他功能,但看起来我们最好的解决方法是有条件地为 IE10 删除它们并找到另一种方法来触发相同的功能......跨度>
-
肯定不会再有任何“需要”怪癖模式了???曾经阻止人们进入怪癖模式的一件事是盒子模型与标准如此不同,以至于转换工作量太大,但现在你可以只使用
* {box-sizing:border-box;},标准模式将切换到使用旧的怪癖模式盒子模型没有抱怨。怪癖模式中还有什么会阻止你远离它——也许我们可以提供帮助,而不是试图帮助你继续生活在 1990 年代。 -
我很想升级应用程序以在现代浏览器上运行,但它足够大,仅测试工作就很重要。对整个堆栈进行现代化改造的重写工作正在进行中,但旧野兽必须继续工作一段时间!不过,感谢
box-sizing属性的提示 - 我不熟悉。 -
天啊....我正在使用 SharePoint 2010,它强制 IE8 呈现。也有这个问题。从事过去的技术工作很糟糕,您无法利用最新的功能。 =( 对我们来说,浏览器检查已经不再是过去式了。
标签: css internet-explorer-10 quirks-mode