Имейте повреждение Firebug, когда глобальная переменная x будет определена

** Обновлен для работы с puppeteer v1.4.x

Если все, что вам нужно, это «зарегистрировать прогресс страницы. Оценить на консоли», тогда просто

const page = await browser.newPage();

page.on('console', consoleObj => console.log(consoleObj.text()));

И используйте console.log в page.evaluate как обычно, больше никаких зависимостей не требуется.

Также см. этот приятный твик для удаления нескольких раздражающих предупреждений из журнала.

15
задан Sebastian Zartner 12 June 2015 в 06:48
поделиться

3 ответа

Предоставлено несколько вещей

  1. Вы знаете имя переменной
  2. У вас нет переменной с таким именем в глобальной области (объявленных вне функций), но только внутри функции.
  3. Существуют вызовы функции, которая объявляет переменную.

этот небольшой скрипт поможет:

<script type="text/javascript">
window.__defineSetter__("x", function(value) { console.trace(); });
x = 1;
</script>

Вы получите трассировку выполненного кода перед этим назначением.

Это может привести к сбою чтобы сообщить о некоторых ситуациях, взгляните на JSLint . Загрузите все свои JS-файлы прямо здесь и запишите их.

12
ответ дан 1 December 2019 в 04:10
поделиться

Вот решение, которое я использовал, изменив решение Ионута Г. Стэна:

window.__defineSetter__("name", function(value) {
  if (value=="div") {
    debugger;
  }
});

Я использовал отладчик вместо console.trace () , чтобы я мог остановиться и посмотреть на него в середине выполнения. С помощью console.trace () я получил миллиард операторов трассировки из-за того, что эта строка выполнялась много раз.

Утечка в области видимости оказалась скрытой в Dojo, где Dojo устанавливает для этой переменной имя обработанный элемент.

2
ответ дан 1 December 2019 в 04:10
поделиться

Просмотрите свою веб-страницу в браузере SeaMonkey (я использую версию 1.1.16) и посмотрите на консоль ошибок, вы увидите сообщение этого типа для каждого присвоения необъявленной переменной:

Warning: assignment to undeclared variable x
Source File: http://....js
Line: ##
1
ответ дан 1 December 2019 в 04:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: