Я пытаюсь найти ошибку в старом приложении 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, будет использовать его больше!