我试图在旧的ASP.NET应用程序中找到一个bug,
导致IE8无法单击以下“按钮”区域
在我们的应用中:
<td
width="150px"
class="ctl00_CP1_UiCommandManager1i toolBarItem"
valign="middle"
onmouseout="onMouseOverCommand(this,1,'ctl00_CP1_UiCommandManager1',0,0);"
onmouseover="onMouseOverCommand(this,0,'ctl00_CP1_UiCommandManager1',0,0);"
onmousedown="onMouseDownCommand(this, 'ctl00_CP1_UiCommandManager1', 0, 0);"
onmouseup="onMouseUpCommand(this, 'ctl00_CP1_UiCommandManager1', 0, 0);"
id="ctl00_CP1_UiCommandManager1_0_0">
<span style="width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap;">
NEW
</span>
</td>
当我们将IE8切换到IE7兼容模式时,问题就消失了,IE7可以点击它。
由于上述HTML是由第三方控件(janus,
http://www.janusys.com/controls
)我们没有源代码。
-
有人在IE8上遇到过类似的问题吗?
-
我已经确定它实际上会触发onmousedowncommand命令
-
同样,按钮区域的CSS在IE8中也不同,它没有像在IE7中那样的颜色阴影。我可以想象,在某个地方,HTML是无效的,而IE8更严格并没有发挥作用,但在哪里呢?
-
关于如何缩小这个bug的任何建议欢迎
答:
结果是,应用程序没有检查navigator.agent中的“msie 8.0”,因此认为ie8具有非Internet Explorer浏览器。
感谢Lazarus提供的提示,IE8javascript调试器非常好,就像IE的Firebug一样,将更多地使用它!