6

Заморозить экран в отладчике Chrome / панели DevTools для инспекции поповера?

1

Я использую Chrome Inspector, чтобы проанализировать значение z-index у всплывающего окна (popover) в Twitter Bootstrap, и это доставляет мне большие неудобства.

Существует ли способ "заморозить" всплывающее окно (пока оно открыто), чтобы я мог оценить и изменить связанный CSS?

Попытка установить фиксированный "hover" на связанной ссылке не приводит к тому, что всплывающее окно появляется.

5 ответ(ов)

9

Успех! Вот что я сделал:

  1. Перейдите на нужную страницу.
  2. Откройте консоль разработчика - на Windows/Linux используйте F12, а на macOS - Cmd + Option + I.
  3. Выберите вкладку Sources в инспекторе Chrome.
  4. В окне браузера наведите курсор на нужный элемент, чтобы вызвать всплывающее окно.
  5. Нажмите F8 на Windows/Linux (или Cmd + \ на macOS), пока всплывающее окно активно. Если вы кликнули где-то на самой странице, F8 ничего не сделает. Ваш последний клик должен быть в инспекторе, например, на вкладке Sources.
  6. Перейдите на вкладку Elements в инспекторе.
  7. Найдите ваше всплывающее окно (оно будет вложено в HTML триггерного элемента).
  8. Удачи с модификацией CSS!
1

ОБНОВЛЕНИЕ: Как написал Брэд Паркс в своем комментарии, есть гораздо лучшее и простое решение всего лишь одной строкой кода на JS:

Выполните команду setTimeout(function(){debugger;},5000);, затем покажите ваш элемент и дождитесь, пока не сработает отладчик.


Исходный ответ:

Я только что столкнулся с подобной проблемой и, похоже, нашел "универсальное" решение. (при условии, что сайт использует jQuery)

  1. Перейдите на вкладку "Elements" в инструментах разработчика.
  2. Щелкните правой кнопкой мыши на <body> и выберите "Edit as HTML".
  3. После <body> добавьте следующий элемент и нажмите Ctrl+Enter: <div id="debugFreeze" data-rand="0"></div>
  4. Щелкните правой кнопкой мыши на этом новом элементе и выберите "Break on..." → "Attributes modifications".
  5. Теперь перейдите в консоль и выполните следующую команду: setTimeout(function(){$("#debugFreeze").attr("data-rand",Math.random())},5000);
  6. Вернитесь в окно браузера, и у вас есть 5 секунд, чтобы найти ваш элемент и нажать на него/навести курсор/сфокусироваться и т.д., прежде чем сработает точка останова и браузер "замерзнет".
  7. Теперь вы можете спокойно исследовать ваш нажатый/наведенный курсором/сфокусированный и т.д. элемент.

Конечно, вы можете изменить JavaScript и время, если поняли суть.

0

Чтобы отладить всплывающее окно в Chrome DevTools, выполните следующие шаги:

  1. Щелкните правой кнопкой мыши где угодно в вкладке "Elements".
  2. Выберите "Break on... → Subtree modifications" или "Break on... → Attribute modifications", в зависимости от того, что вам нужно.
  3. Запустите действие, которое вызывает всплывающее окно. Оно должно "заморозиться", если в DOM произойдут изменения.
  4. Если вы все еще не видите всплывающее окно, нажмите кнопку Step over the next function (F10), которая находится рядом с Resume (F8) в верхнем центре окна Chrome, пока не "заморозите" нужное вам всплывающее окно.

Таким образом, вы сможете зафиксировать состояние DOM и изучить, что происходит, когда открывается ваше всплывающее окно.

0

Я пытался использовать другие решения, и они работают, но мне лень, поэтому вот мой способ:

  1. Наведите курсор на элемент, чтобы активировать состояние расширения.
  2. ++
  3. Снова наведите курсор на элемент.
  4. Кликните правой кнопкой мыши.
  5. Перейдите в отладчик.

При нажатии правой кнопкой мыши событие мыши больше не регистрируется, так как появляется контекстное меню, так что вы можете безопасно убрать курсор мыши.

0

Для того чтобы эмулировать фокусированную страницу в инструментах разработчика, выполните следующие шаги:

  1. Нажмите Fn + F12, чтобы открыть инструменты разработчика.
  2. В правой части экрана найдите и нажмите на три точки (три вертикальные точки).
  3. Выберите пункт "Еще инструменты" (More tools).
  4. Найдите и выберите "Рендеринг" (Rendering).
  5. В открывшемся меню отметьте опцию "Эмулировать фокусированную страницу" (Emulate a focused page).

Это действие позволит вам протестировать, как ваша страница будет вести себя при фокусе на элементе.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь