2013-01-14 15 views

Odpowiedz

65

Jeśli używasz Chrome lub Chromium, wyświetla się u dołu konsoli programisty , gdzie pojawia się ciąg <top frame>. Kliknij go i wybierz result(fiddle.jshell.net). Spowoduje to zmianę bieżącego zakresu przeglądarki i dostęp do wszystkich zmiennych globalnych. Pamiętaj też, aby zmienić opcję ładowania w jsFiddle na no wrap, jeśli chcesz uzyskać dostęp do zmiennych var.

Screenshot Chrome

UPDATE: 2014.12.01

z Firefoksem (34+) i nowy Firefox Developer Edition, to possibile zrobić to samo poprzez umożliwienie Wybierz ramkę jak obecnie ukierunkowane dokument dodatkowe narzędzie do narzędzi programistycznych, a następnie kliknij na niego i wybierz http://fiddle.jshell.net/_display/.

Screenshot Firefox

+2

Zrobiłem to, ale zmienna jest nadal nieokreślone – Casebash

+2

zaktualizowałem moją odpowiedź @Casebash. Jeśli uruchomisz swój kod za pomocą opcji 'onLoad' w jsFiddle,' var x' nie będzie osiągalny z konsoli, ponieważ kod będzie zawijany w zamknięcie (funkcja dołączona do zdarzenia 'onLoad') i niewidoczne z konsoli. – Ragnarokkr

+0

@Ragnarokkr Dzięki, to bardzo pomaga! – caspyin

5

Konsola jest jak własne zamknięcie, gdzie this === window: widzisz tylko vary zdefiniowane w konsoli (na polecenie/skrypt).

Więc masz dwa sposoby publikowania danych widocznych w konsoli:

  1. var x = 5; console.log(x); // out of your code, not as console command
  2. window.x = 5; // now x is global, so in console you get 5 for x.

Zamiast czystych poleceń konsoli, można użyć debuggera. W firebug i narzędziach do Chrome możesz ustawić punkt przerwania, odświeżyć stronę (w jsFiddle powinno się uruchomić), a teraz możesz zobaczyć rzeczywiste wartości zmiennych w zakresie. (Musisz raz załadować stronę, aby kod wszedł do debuggera, a następnie przeładować ponownie punkty przerwania w zdarzeniu document.ready.)