Я пытаюсь найти ошибку в старом приложении ASP.NET, из-за которой 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, который строже, не играет, но где?
- любые советы о том, как сузить эту ошибку, приветствуются
ОТВЕЧАТЬ:
Оказалось, что приложение не проверяло navigator.agent на наличие «MSIE 8.0» и, таким образом, рассматривало IE8 в браузере, отличном от Internet-Explorer.
Спасибо Lazarus за совет, отладчик IE8 Javascript очень хорош, как и Firebug для IE, будет использовать его больше!