Как сбросить JavaScript-вары в IE8?
У меня есть объект, который мне нужно изучить в IE8.
Я попробовал инструменты разработчика и console.log
, их эквивалент Firebug.
Однако, когда я выводил объект в журнал:
console.log("Element: ", element);
console.log(element);
Я получаю только строку
LOG: Element: [object Object]
вместо кликабельного, проверяемого дампа.
Можно ли выгрузить объект в журнал и просмотреть его элементы, например, в Firebug?
Я не могу использовать функцию самодельного дампа(), потому что элемент, который я хочу исследовать, настолько огромен, что браузер рухнет на меня.
Ответы
Ответ 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()) может быть вашим другом здесь...