Je voudrais déboguer un script tampermonkey avec la console du chrome, mais je ne trouve pas mon script dans la liste ..
Suis-je en train de faire quelque chose de mal, ou simplement les scripts tampermonkey n'apparaissent pas là? Et dans ce cas, comment puis-je le déboguer?
Tampermonkey est simplement une extension qui injecte des scripts passe-partout pour évaluer vos scripts personnalisés, vous pouvez donc déboguer n'importe lequel de ces scripts si vous les trouvez.
Le problème est qu'il évalue les scripts utilisateur comme si quelqu'un appelait eval()
dessus, vous verrez donc VM###
au lieu de quelque chose de sympa comme myscript.js
et vous ne pouvez normalement pas y accéder comme des scripts permanents.
Ajoutez plutôt des lignes de débogueur:
Tableau de bord TamperMonkey -> Paramètres -> Général (Mode de configuration: Avancé) -> Scripts de débogage
Ou, dans votre script utilisateur, ajoutez la ligne:
debugger;
ainsi:
(Faire cela en haut d'un script utilisateur équivaut au paramètre Tampermonkey)
Lorsque vous avez une console ouverte sur une page utilisant le script, elle se met en pause lorsque les lignes du débogueur sont touchées et vous montre votre fichier source (entouré d'un passe-partout tampermonkey).
Qui devrait ressembler à ceci:
Vous pouvez ensuite instrumenter toutes les autres lignes dont vous avez besoin depuis le débogueur.
Si vous rencontrez des problèmes, vous pouvez également déboguer la logique principale de tampermonkey lui-même en ouvrant l'inspection de la page d'arrière-plan dans les extensions chrome: //. Il imprime de jolis messages pour vous faire savoir ce que vous pouvez utiliser pour sauter dans son code.