私は問題があります :)
古いjquery 1.3.2を最新バージョンの1.8.3にアップグレードしました。
もちろん、そのような古いバージョンからアップグレードすると、カスタム jquery コードで問題が発生します:)
バインドの代わりにプロキシを使用する必要があることがわかりましたが、まだ ajax コードに問題があります。
私は経験豊富な JavaScript デバッガーではありませんが、setProgress で ajax の成功が Google Chrome ブレークポイントをトリガーしないようです。
私のコード:
getProgress: function() {
$.ajax({type: "GET", url: "/progress", dataType: "json",
beforeSend: $.proxy(function(xhr) {
xhr.setRequestHeader("X-Progress-ID", this.uuid);
}, this),
success: $.proxy(this.setProgress, this)
});
},
setProgress: function(data) {
if (data.state == "done") {
this.finished();
} else if (data.state == "error") {
alert("ERROR"+data.status);
this.finished();
} else if (data.state == "starting") {
this.statusText.text("Startar");
this.setTime();
} else {
bps = bytesPerSecond((new Date()).getTime()-this.lastTime, this.received, data.received);
this.lastTime = (new Date()).getTime()
try { remaining = (this.size-this.received)/bps; } catch(err) { remaining = 0; }
this.received = data.received;
this.size = data.size;
this.statusText.html(
(this.received/this.size).toPercentage()+
" Uppladdat ( "+
data.received.toHumanSize()+
" av "+
data.size.toHumanSize()+
" ) "+
bps.toHumanSize()+
"/s "+
timeLeft(remaining)+
" kvar"
);
this.statusText.width((this.progressBar.width()-40)*(this.received/this.size)+20);
this.setTime();
}
},
私のコードを壊すjquery 1.4+のajaxにいくつかの変更があったと思います。何が間違っている可能性がありますか?