web-dev-qa-db-ja.com

tampermonkeyスクリプトをデバッグする

Chromeのコンソールでtampermonkeyスクリプトをデバッグしたいのですが、リストに自分のスクリプトが見つかりません。

enter image description here

私は何か間違ったことをしているのですか、それともtampermonkeyスクリプトがそこに表示されないのですか?その場合、どのようにデバッグできますか?

48
thestral

Tampermonkeyは、ボイラープレートスクリプトを挿入してカスタムスクリプトを評価するだけの拡張機能であるため、これらのスクリプトが見つかった場合はデバッグできます。

問題は、誰かがeval()を呼び出したかのようにユーザースクリプトを評価しているため、VM###のような素敵なものの代わりにmyscript.jsそして通常のスクリプトのようにそれらに移動することはできません。

代わりに、デバッガー行を追加します。

  • 設定チェックマーク:

TamperMonkeyダッシュボード->設定->一般(設定モード:詳細)-> スクリプトのデバッグ Tampermonkey general settings w/debug checked

  • または、ユーザースクリプトに次の行を追加します。

    debugger;

そのようです: debugger line in userscript

(ユーザースクリプトの上部でこれを行うことは、Tampermonkey設定と同等です)

スクリプトを使用してページ上でコンソールを開いている場合、デバッガー行にヒットすると一時停止し、ソースファイル(tampermonkeyボイラープレートで囲まれています)が表示されます。

次のようになります。 chrome paused on tampermonkey script

その後、デバッガ内から必要な他の行をインスツルメントできます。

問題が発生した場合は、chrome:// extensionsでバックグラウンドページの検査を開くことで、tampermonkey自体のメインロジックをデバッグすることもできます。ニースメッセージを出力して、コード内をジャンプするために使用できる最大値を通知します。

69
lossleader