Подтвердить что ты не робот

Как сбросить JavaScript-вары в IE8?

У меня есть объект, который мне нужно изучить в IE8. Я попробовал инструменты разработчика и console.log, их эквивалент Firebug. Однако, когда я выводил объект в журнал:

console.log("Element: ", element);
console.log(element);

Я получаю только строку

LOG: Element: [object Object]

вместо кликабельного, проверяемого дампа.

Можно ли выгрузить объект в журнал и просмотреть его элементы, например, в Firebug?

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

4b9b3361

Ответ 1

Вот один из методов, который я нашел полезным:

  • Откройте панель инструментов разработчика (нажмите F12)
  • Перейдите на вкладку "Script"
  • Нажмите кнопку "Начать отладки"
  • Затем введите "отладчик" в консоль и нажмите "Enter". Это должно вызвать точку останова.
  • Перейдите на вкладку "Смотреть"
  • Нажмите строку, которая говорит "Нажмите, чтобы добавить..." и введите переменную, которую вы хотите изучить. Обратите внимание, что переменная должна быть доступна по всему миру.
  • На этом этапе вы сможете проверить свою переменную с древовидным интерфейсом
  • После завершения отладки нажмите кнопку "Продолжить" (или нажмите F5)

Ответ 2

Отключить тему (поскольку она не будет работать для элементов DOM), но я нашел удобным использовать JSON.stringify(object), чтобы получить строку JSON для объекта, который является довольно читаемым.

Ответ 3

@Крис прокомментировал @Andy ответ с простым решением: используйте console.dir(myObj), чтобы получить все детали, распечатанные в консоли в IE. Спасибо Крису!

Ответ 4

Если вы имеете дело с неприятным кодом и console.log недоступен, попробуйте это в консоли:

out = []; for (i in your_object) { out.push(i) } out.join("\n")

Ответ 5

Одно из предложений - использовать Firebug-Lite: Он обертывает консоль obj, и вы можете увидеть результат в IE, как в большинстве консолей firebug. Надеюсь на эту помощь.

Ответ 6

Добавьте этот тег на свою страницу:

<script type="text/javascript" src="https://getfirebug.com/firebug-lite-debug.js"></script>

Ответ 7

Иллюстрированная версия Xavi отличного ответа:

введите описание изображения здесь

Ответ 8

Я знаю, что это ДЕЙСТВИТЕЛЬНО старый вопрос, но сейчас я искал ответ на этот вопрос. Если это не абсолютное требование использовать консоль IE (что не очень хорошо, IMO), то вы можете подумать об использовании Firebug Lite (http://getfirebug.com/firebuglite). Это не идеальное решение, и вы можете не захотеть вытащить этот script в свою производственную среду, и это не так полно, как Firebug, но это довольно хорошо, когда вам нужно много работать с низким уровнем конца браузер, например IE.

Ответ 9

Немного короче, но он работает для объектов DOM:

 console.log( testNode.outerHTML.replace(testNode.innerHTML,"") ); 

Ответ 10

Сбросить его в существующий элемент HMTL

Я заметил, что IE 11 отключает консольные строки после 1027 символов: -/ Когда у меня был большой объект для сброса (12 000 символов), я сбросил его в существующий DIV-другой TextArea-Element, откуда я мог бы скопировать содержимое.

var str = JSON.stringify(myObject);
$('#existing-element').text(str); // jQuery or
document.querySelector("#existing-element").innerHTML = str; // native JavaScript

Ответ 11

console.log(element.toString()) может быть вашим другом здесь...