2013-07-29 14 views
177

używam chrom inspektora, aby spróbować przeanalizować z-index o twitter bootstrap popover, a znalezienie go bardzo frustrujące ...Zatrzymać ekran w chromowanym debuggerze/panelu DevTools do inspekcji popover?

Czy istnieje sposób, aby zatrzymać popover (podczas gdy pokazano), aby można było ocenić i zmodyfikuj powiązany CSS?

Umieszczenie stałej „” najechania kursorem na powiązanej linku nie powoduje popover się pojawiać.

+6

Spróbuj ustawić punkt przerwania w JavaScript natychmiast po popup jest pokazane ('') debugger; – Hope4You

+1

używam 'window.setTimeout' wywołać' debugger' w 5 sekund, następnie najedź element i czekać . – grimmdude

Odpowiedz

360

Got to działa. Tu był mój procedura:

  1. Przejdź do żądanej strony
  2. Otwórz konsolę dev - F12 na Windows/Linux lub opcja + + J na OSX
  3. Wybierz zakładka w chromowaną inspektora
  4. w oknie przeglądarki internetowej Sources, najedź żądanego elementu, aby zainicjować popover
  5. Hit F8 na Windows/Linux (lub fn + F8 na OSX), podczas gdy popover jest wyświetlana. Jeśli naciśniesz w dowolnym miejscu na stronie F8 nic nie zrobi. Twoja ostatnia kliknięcie musi być gdzieś w inspektora, jak na karcie źródeł
  6. Przejdź do zakładki Elements w inspektora
  7. Znajdź popover (będzie zagnieżdżony w elemencie spust w HTML)
  8. Baw modyfikowanie CSS
+7

Ten przepływ pracy dał mi krótkie, użyteczne wprowadzenie do debugera pułapek i pomógł wyodrębnić menu, które było trudne do ukształtowania, ponieważ zniknęło po kliknięciu konsoli. –

+21

Frickin 'BRILLIANT! Zazwyczaj nie jestem osobą, która publikuje komentarze "dzięki", "ja też" lub "+1", ale jest to ogromne dla twórców stron internetowych. Uwielbiam zespół Chrome. –

+0

Potrzebowałem tego, gdy moja mysz była wciśnięta. Nie działał, bo musiałem nacisnąć myszki, która wyłączyła konsolę. Dodałem więc punkt przerwania na mouseout, który działał, chociaż musiałem kilka razy wznowić (także F8), aż wyzwolił się na prawidłowym elemencie. Trochę nieciekawy, ale przydatny! –

25

Po prostu miałem ten sam problem i wydaje mi się, że znalazłem rozwiązanie "uniwersalne". (zakładając, że strona używa jQuery)
Mam nadzieję, że komuś pomaga!

  1. idź do elementów w zakładce inspektora
  2. Kliknij prawym przyciskiem <body> i kliknij "Edycja jako HTML"
  3. Dodaj następujący element po <body> następnie naciśnij Ctrl + Enter:
    <div id="debugFreeze" data-rand="0"></div>
  4. Kliknij prawym przyciskiem myszy ten nowy element, a następnie wybierz "break on ..." -> "Atrybuty modyfikacje"
  5. teraz przejdź do Konsola Wyświetl i uruchom następującą komendę: setTimeout(function(){$("#debugFreeze").attr("data-rand",Math.random())},5000);
  6. Teraz wróć do okna przeglądarki i masz 5 sekund na znalezienie elementu i kliknięcie/najechanie/fokus/itd. Przed trafieniem punktu przerwania i przeglądarką "zamrozi".
  7. Teraz możesz sprawdzić swój zakorkowany/skupiony element/etc w spokoju.

Oczywiście możesz zmodyfikować javascript i czas, jeśli wpadniesz na ten pomysł.

UPDATE: Jak Brad Parks napisał w swoim komentarzu jest tak dużo lepsze i łatwiejsze rozwiązanie tylko jednej linii kodu JS:

uruchomić ten javascript zamiast setTimeout(function(){debugger;}, 5000);, a następnie przejść pokazać elementu i czekać, aż pęknie do debuggera

+7

Hej! Świetny pomysł ... nie musisz nawet dodawać dodatkowego diva ... Po prostu uruchom ten javascript zamiast 'setTimeout (function() {debugger;}, 5000);', następnie pokaż element i poczekaj, aż włamuje się do Debuggera. Następnie kliknij zakładkę "Elementy" w Inspektorze Chrome i możesz tam znaleźć swój element. Możesz także kliknąć ikonę "Znajdź element" (wygląda jak szkło powiększające), a Chrome pozwoli ci przejść i sprawdzić i znaleźć twój element na stronie, klikając go prawym przyciskiem, a następnie wybierając "Sprawdź element". –

+2

Myślę, że powinieneś dodać to jako odpowiedź, ponieważ to rozwiązanie jest nie tylko lepsze niż moje, ale lepsze niż wszystkie pozostałe tutaj. Bardzo miła! – frzsombor

13
  1. kliknij prawym przyciskiem myszy w dowolnym miejscu wewnątrz Elements Tab
  2. Wybierz BREAKwł ...>modyfikacje poddrzewie
  3. wyzwolić popup chcesz zobaczyć i będzie zamrażać jeśli zobaczyć zmiany w DOM
  4. Jeśli nadal nie widzisz okienko, kliknij przycisk Step over the next function(F10) obok Resume(F8) w górnym górnym środku chromu, aż zamrozisz wyskakujące okienko, które chcesz zobaczyć.
140

Aby móc obejrzeć dowolny element, wykonaj następujące czynności. Powinno to zadziałać, nawet jeśli trudno jest zduplikować stan aktywacji:

  • Uruchom następujący javascript w konsoli. Spowoduje to włamanie do debuggera w ciągu 5 sekund.

    setTimeout(function(){debugger;}, 5000)

  • Go pokazać swój element (lub przez unoszące się jednak) i poczekać aż Chrome włamuje się do debugera.

  • Teraz kliknij zakładkę Elements w oknie Inspektora przeglądarki Chrome, aby wyszukać tam swój element.
  • może także być w stanie kliknąć na ikonę Find Element (wygląda jak szkło powiększające) i Chrome pozwoli Ci iść i zbadać i znaleźć element na stronie, klikając prawym przyciskiem myszy na nim, a następnie wybierając Inspect Element

Należy zauważyć, że to podejście jest nieznaczną zmianą w stosunku do tej innej wersji great answer na tej stronie.

+4

Szanuję, że należycie respektowałeś odpowiedź Frzsombor. miły. –

+3

To jest to, czego potrzebowałem, ponieważ funkcjonalność wynikała z dodania elementu DOM do js Focus i usunięto go przy rozmyciu, co zawsze ma miejsce po przejściu na narzędzia programisty. – trudesign

+2

Rozwiązanie Abrama F8 nie działa dla mnie. Ten się zrobił. Dzięki! – Ralf

8

Znalazłem, że działa to bardzo dobrze w Chrome.

Kliknij prawym przyciskiem myszy element, który chcesz sprawdzić, a następnie kliknij polecenie Wymuś stan elementu> Zawiesić. Załączony zrzut ekranu.

Force element state

+3

Będzie działać tylko wtedy, gdy popover zostanie wywołany przez css. – mik01aj

Powiązane problemy