2012-03-22 13 views
29

Umieściłem punkt przerwania w javascript i testuję kod za pomocą Chrome. Dodałem także wyrażenie zegarka dla wartości.Jak skopiować obserwowaną zmienną javascript w przeglądarce Chrome?

Chrome łamie się w punkcie przerwania i pokazuje wartość. Jednak wartość jest bardzo długa i nie wyświetla jej wszystkich. Przesuwam okienko w lewo, ale zatrzymuje się na środku ekranu. Po dwukrotnym kliknięciu obserwowanej zmiennej chce edytować wyrażenie. Po pojedynczym kliknięciu i przeciągnięciu zaznacza widoczny tekst, ale nie wszystkie. Kliknięcie prawym przyciskiem nic nie robi.

To co widzę

url: "m=mtgoxUSD&SubmitButton=Draw&r=&i=&c=0&s=&e=&Prev=&Next=&t=S&b=&a1=&m1=10&a2=&m2=25&x=0... 

Chcę skopiować całą ekspresję bez ... w końcu. Jak mogę to zrobić?

Odpowiedz

9

Oto, co robię.

Edit: Działa to w zmiennych zakresu, który jest poniżej panelu Watch wyrażeń.

  1. Kliknij dwukrotnie wartość, aby przejść do trybu edycji.

  2. Ctrl + A (Windows) lub Cmd + A (Mac), aby zaznaczyć całą wartość.

  3. Ctrl + C (lub Cmd + C) do skopiowania.

+1

Podwójne kliknięcie edytuje obserwowaną zmienną wyrażenia, tj. Adres URL, a nie wartość – siamii

+3

aaaah, przepraszam, błędnie przeczytałem twój wpis .. Robię to w sekcji Zmienne zakresu. Działa tam .. – Ben

+1

Dzięki, że to wystarczy, działa w sekcji zmiennych zakresu – siamii

27

Wyświetl konsolę, a następnie wpisz wyrażenie, które ma zostać wyświetlone, i naciśnij. Zobaczysz całą wartość, a będziesz mógł wybrać i skopiować.

Podczas debugger jest wstrzymane, to działa nawet z wyrażeniami, które obejmują zmienne lokalne, które są w zakresie w bieżącym miejscu kaźni.

28

Dodaję późną odpowiedź po prawie 3 latach, ponieważ przy obecnych Narzędziach Chrome Dev żadne z tych rozwiązań nie działa, jeśli masz macierz lub nawet zagnieżdżoną właściwość obiektu w tej zmiennej, po obu odpowiedziach, które właśnie skończysz kopiowanie ciągu z wieloma ciągami przeplecionymi w rzeczywistej wartości obiektu, całkowicie bezużyteczne w przypadku złożonych hierarchii obiektów.

Proponowane rozwiązania są ok, jeśli tylko trzeba ręcznie poruszać się wartość, ale jeśli nie trzeba go skopiować na żądanie w pytaniu.

co polecam zamiast tego, szczególnie jeśli trzeba skopiować oglądał wartość do wykorzystania go jako treść nowej zmiennej, jest zrzucić go pocieszyć po jego stringified.

Pokaż konsolę JavaScript i typ:

console.log(JSON.stringify(my_watched_var)) 

ten sposób pełna struktura zostanie wyświetlona w czystym JavaScript, w pełni wielokrotnego użytku/copyable sposób.

+7

myślę można dodatkowo poprawić za pomocą 'ten egzemplarz()' zamiast 'console.log()', która kopiuje ciąg prosto do schowka. – hdgarrood

+0

Miło !, byłoby jeszcze lepiej, gdyby mogło formatować skopiowane kawałki w niewielkim stopniu, aby dodać podział linii między każdą właściwością zmiennej. Udało mi się go sformatować za pomocą notatnika ++. Zastąp wszystkie "," przez ", \ r \ n". – AXMIM

+1

'copy ()' działało również dla mnie w Firefoksie. :) – cxw

16

Chrome DevTools' posiada wbudowaną funkcję «Kopiuj»:

copy(my_variable) 

Jeżeli wartość my_variable nie jest ciągiem znaków, zostanie ona automatycznie konwertowane do formatu JSON. Wynikowy ciąg pozostaje w schowku systemowym do wklejenia.

Oto reference doc.

+0

to pomogło mi szczególnie na długim sznurkiem – lbsweek

Powiązane problemy