3

これは私が書いていないjquery/javascriptコードの一部ですが、Firebugでデバッグしようとしています(適切な配置のためにいくつかのスペースを追加して、そのままコピー/貼り付けました):

 if (control == "#testTakerSearchSource" && object !== undefined && object[key] !== undefined && key == "datasets" && object[key].length >= 3) {
    var afterValues = [];
    if (object[key].length == 3 && object[key][0] == "1") {
        afterValues[0] = "1,2,3";
        object[key] = afterValues;
    }
    else {
        var beforeValues = object[key];
        afterValues[0] = "1,2,3";
        for (var i = 3; i < beforeValues.length; i++) {
            afterValues[i - 2] = beforeValues[i];
        }
        object[key] = afterValues;
    }
} 

最初の行のブレークポイントを設定しました。停止する必要があります。F10を押すと、afterValues[i - 2] = beforeValues[i];行にまっすぐ進み、いくつかのブラケットをforループにジャンプします...もちろんFFを再起動しようとしましたが、バグが再び発生し、少なくとも他のマシン。

私の推測では、予約済みのキーワードか何かを使用しています。とにかく見た目が気に入らないので書き直しますが、なぜそれが起こるのか誰にも分かりますか?

Firefox 14.0.1

ファイアーバグ 1.10.3

jQuery 1.8.0

jQuery UI 1.8.23

編集:

私はこれを試しました:

 try {
    if (control == "#testTakerSearchSource" && object !== undefined && object[key] !== undefined && key == "datasets" && object[key].length >= 3) {
        var afterValues = [];
        if (object[key].length == 3 && object[key][0] == "1") {
            afterValues[0] = "1,2,3";
            object[key] = afterValues;
        }
        else {
            var beforeValues = object[key];
            afterValues[0] = "1,2,3";
            for (var i = 3; i < beforeValues.length; i++) {
                afterValues[i - 2] = beforeValues[i];
            }
            object[key] = afterValues;
        }
    }
}
catch (err) {
    alert(err);
} 

object[key] = afterValues;同じ行にブレークポイントを設定すると、代わりにその行にジャンプします。続行すると、例外はキャッチされません...

Edit2:他の仮説: Firefox には、実際に表示されているものとは異なるバージョンの js ファイルがどこかにあります。それは理にかなっていますか?全部やり直したけどどうなるか分からない…

4

2 に答える 2

2

これは、コードの例外が原因である可能性があると思います。私の提案は、エラー処理でコードを変更することです

try
  {
   //your code if (control == "#testTakerSearchSource" && .........
  }
catch(err)
  {
   alert(err);
  }
于 2012-09-04T11:13:10.503 に答える
1

その部分を書き直してしまいました。なぜそれが起こったのかわかりません。それ以来、Firebugが更新されました

于 2012-10-11T12:24:49.917 に答える