2015-04-12 27 views
35

chciałbym debugować tampermonkey skrypt z konsoli Chrome, ale nie mogę znaleźć mój skrypt na liście ..Debug skrypt tampermonkey

enter image description here

Czy robię coś źle, czy po prostu skrypty tampermonkey się tam nie pojawiają? A w takim razie jak mogę to debugować?

+0

http://i.stack.imgur.com/C71uq.jpg – thestral

+2

Proszę zmienić zaakceptowaną odpowiedź; druga odpowiedź jest znacznie dokładniejsza i chcę ją usunąć. – Xan

Odpowiedz

50

Tampermonkey jest po prostu przedłużeniem że wstrzykuje skrypty boilerplate ocenić swoje własne skrypty, dzięki czemu można debugować każdy z tych skryptów, jeśli można je znaleźć ..

Problem jest to, że oceny userscripts jakby ktoś nazywa eval() na nich, więc zobaczysz VM### zamiast czegoś miłego jak myscript.js i nie możesz normalnie nawigować do nich jak permanentne skrypty.

Zamiast dodawać linie debugera:

  • Ustawienia haczykiem:

TamperMonkey Dashboard -> Ustawienia -> Ogólne (tryb Config: Zaawansowane) ->skrypty Debug Tampermonkey general settings w/debug checked

  • Albo w swoim userscript dodać linię:

    debugger;

tak: debugger line in userscript

(Robi to na szczycie userscript jest równoważne z ustawieniem Tampermonkey)

Gdy otworzysz konsolę na stronie przy użyciu skryptu, zatrzyma się ona po kliknięciu linii debuggera i pokaże ci plik źródłowy (otoczony tampermonkey).

Która powinna wyglądać następująco: chrome paused on tampermonkey script

Można wtedy instrumentem inne linie, które trzeba od wewnątrz debuggera.

Jeśli napotkasz kłopoty, możesz również zdebugować główną logikę samego tampermonkey, otwierając kontrolę strony w chrome: // extensions. Wydaje fajne wiadomości, aby poinformować, do czego można użyć, aby przeskoczyć w swoim kodzie.