Автоматическое обновление вкладки HTML в Internet Explorer

0

Я сделал хороший сайт, который делает много манипуляций с DOM. Работает очень хорошо в хроме и firefox. Хотя клиент запросил сейчас, что он также работает в Internet Explorer. Последняя версия достаточно хороша для начала (в моем случае это будет 10.0.9200.16721).

Итак, приключение начинается, я нажимаю F12 и вижу набор довольно знакомых инструментов для разработчиков (из хром и firebug). Поскольку я отслеживаю код JS, я замечаю, что вкладка HTML (с DOM) фактически не обновляется.

Согласно руководству здесь http://msdn.microsoft.com/en-us/library/ie/gg589512(v=vs.85).aspx это "хорошая идея обновить вкладку HTML, чтобы получить текущую DOM, особенно когда вы используете динамические элементы ". (d0h??) проблема.. я не могу найти кнопку, чтобы включить автоматическое обновление вкладки HTML. Поэтому мне нужно будет щелкнуть кнопку обновления каждый раз, когда я вхожу в новую строку JS (не обращая внимания на представление DOM в реальном времени).

Но это не все... каждый раз, когда я нажимаю кнопку обновления, весь вид дерева DOM сворачивается. И я должен щелкнуть кучу плюсов, чтобы просмотреть интересующий меня узел.

У кого-нибудь есть решение для этого? Потому что то, что займет несколько дней, займет недели...

  • 0
    И именно поэтому никто не любит IE.
  • 0
    IE11 обновляет вкладку DOM в реальном времени.
Теги:
dom
internet-explorer

1 ответ

1
Лучший ответ

Duplicate of Как проверять элементы динамически созданного DOM с помощью инструментов разработчиков IE

Из-за небольшого рытья, похоже, это проблема, о которой другие люди тоже сообщили. Этот поток может вас заинтересовать.

Наиболее важная его часть:

Проблема заключается в том, что вы модифицируете dom (с или без jquery) из обратного вызова, который вызывается таймаутом, который находится в обратном вызове, связанном с событием, IE запугивает и не обновляет дерево dom в средстве разработки. Последующие изменения измененного тега в инструменте dev не будут иметь никакого эффекта.

Согласно моим тестам, это комбинация этой последовательности вызовов, которые делают это возможным. Если dom изменен из обратного вызова settimeout, но не находится внутри обратного вызова события, он работает. Если вместо setimeout вы напрямую вызываете функцию, которая модифицирует dom, она работает.

Вот рабочий пример того, что вы говорите, чтобы усугубить проблему.

В принципе, это проблема с IE. На данный момент никаких исправлений нет. Принятый ответ на другой поток кажется очень плохим обходным решением.

  • 0
    Хорошо, это, конечно, хорошая информация, чтобы знать, что это тоже глючит. Однако я спрашивал, как автоматически обновить вкладку HTML, не нажимая кнопку обновления. Вы говорите, что обычно (без таймаута) он обновляется автоматически? Если это так ... я серьезно задаюсь вопросом, какова функция кнопки обновления, если она уже автоматически обновлялась в первую очередь (учитывая ситуацию без ошибки тайм-аута) ...
  • 0
    @ Флип, я знаю, что ты спрашиваешь. И что мой ответ говорит, что это не может быть сделано. Это было бы отличной возможностью для Microsoft, но в настоящее время вам необходимо перезагрузить ее.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню