11

文字列として読み込まれ、Firefox拡張機能によってeval()を介して実行されるJavaScriptコードを書いています。Firebugはスクリプトを「参照」するため、ブレークポイントを使用したり、オブジェクトを表示したりすることはできません。

私は現在Firefoxのエラーコンソールを使用していますが、これには限界があります。私の他のオプションは何ですか?理想的には、Firebugまたはそれに類似したものを使用できるでしょう。人々は一般的にGreasemonkeyスクリプトをどのようにデバッグしますか?

Lintやその他のバリデーターを使用してみましたが、スクリプトは拡張環境によって提供される多くのオブジェクトと関数を使用しているため、報告されたエラーの多くは無関係です。また、出力がぎこちなくなる傾向があります(間隔の問題の焦点合わせなど)。

4

3 に答える 3

2

Greasemonkeyスクリプトをデバッグするためのインタラクティブなコンソールを作成しました。Google Gearsが必要ですが、入力されたコマンドの永続的な履歴が含まれています。

更新:GreasyThugを使用してGMスクリプトをデバッグする方法を説明しているブログ投稿へのリンクは次のとおりです。エラーを再現して解決策を考案するためのステップバイステップの手順があります。

于 2009-02-19T05:10:29.957 に答える
1

jQueryを使用してページDOMにアクセスし(unsafeWindowハックの必要はありません)、Firebugコンソールにエラーをログに記録できるようにするために、このコードを使用しています。

(function(_, $){
  try {
    var GM_log = function(obj) { _.console.log(obj); }

    // $("#my_div").reaplaceWith("hello world!");
    // _.someFunctionDefinedInTheWebsite();

  } catch(e) {
    GM_log(e);
  }
})(unsafeWindow, unsafeWindow.jQuery);

:この例では、アクセスしているページがすでにjQueryを使用していることを前提としています

于 2010-08-14T12:22:46.510 に答える
1

私の知る限り、Firebug はeval()1.1 以降のデバッグをサポートしています。具体的には GreaseMonkey の場合、基本的なログ記録にGM_logを使用できます。このツールも役立つ場合があります。

于 2008-10-24T01:31:02.833 に答える