0

FF25.0、フェドラ18。

これはただぐるぐる回っているだけです。ステージング拡張機能がインストールされ、拡張機能が dom を少し変更するため、その一部がアクティブになります (ローカル ストレージが初期化されるため、バックグラウンド スクリプトも実行されていると思います)。ページの読み込み時に実行する必要があるサイドバーやその他の dom インジェクションなど、すべての拡張機能が機能するわけではありません。しかし、crossrider のデバッグ モード ページは、実行中の拡張機能を認識できません。

これは私のコードのバグによるものと思われますが、デバッグする方法がないようです。サイドバーをコメントアウトしたとき、別のインストール後にまだ一時的に表示されていたため、プロキシ/キャッシュが邪魔をしていると思われますが、拡張 URL に追加の GET 引数を追加しても役に立ちませんでした. に追加debuggerしてみましたextension.js。コンソールは空です。firebug によってエラーは報告されません。拡張機能は chrome で正常に動作します。空白の拡張機能に戻って、失敗するまで少しずつ追加を試みたくはありません。Firefoxに「これがあなたの問題です。行番号Xにあります」とだけ言わせるような、もっと簡単な方法があるはずです。何か案は?

[編集]いくつかの
デバッグ オプション をオンにした後、コンソールにエラーが表示されましたが、問題のあるファイル/行番号をクリックすると、[ソース:...] ウィンドウが開きます。Google Chromeでは、デバッガーでファイルを取得し、ブレークポイントにヒットし、更新して、発生したエラーをキャッチできます。さらに良いことに、機能するだけでなく実際にも機能する「例外発生時」オプションはどうでしょうか。

[編集]
ようやくブラウザ デバッガが動作するようになりました。最初のエラーはNS_ERROR_XPC_BAD_OP_ON_WN_PROTO.

4

2 に答える 2

1
  1. すべての拡張コードに巨大なtry/catchを投げます。少なくともこれにより、クロスライダーの「ステージング」拡張機能をインストールして認識できるようになります。

  2. 例外を出力します(これが機能するには、すべての愚かなabout:configものを設定する必要があると思います)

    appAPI.ready(function($) {
        try {
        ...rest of extension code
        }
        catch (e)
        {
            console.log("#################", e);
        }
    }
    
  3. コンソールでエラーを見つけて、 をクリックします[object exception]。行番号に注意してください (他のコードが挿入されるため、正しくありません)。また、例外を出力することに成功し、 Firefoxがそれを中断できなかったことにも注意してください。FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

  4. コードのほぼ中間にいくつかの改行を追加します。

  5. リロードします。行番号に注意してください。変更されている場合、エラーは改行の後にあります。そうでない場合、エラーは以前のものです。

  6. エラーが見つかるまで手順 4 から繰り返します。

  7. このプロセスの愚かさについて少し考えてみてください。(これは正確には crossrider に向けられたコメントではなく、現在利用可能な単純な Web 開発ツールと API が深刻に不足しているためです)

于 2014-01-03T08:13:01.350 に答える