- JS Updater: stop monitoring progress when 100% is reached (can lead to infinite refresh loops in Safari)
parent
c60e7acdd4
commit
69bcdef531
|
@ -42,7 +42,7 @@ progressBar.prototype.setProgress = function (percentage, status) {
|
|||
}
|
||||
}
|
||||
if (this.callback) {
|
||||
this.callback(percentage, status);
|
||||
this.callback(percentage, status, this);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -82,8 +82,8 @@ progressBar.prototype.receivePing = function (string, xmlhttp, pb) {
|
|||
}
|
||||
// Split into values
|
||||
var matches = string.length > 0 ? string.split('|') : [];
|
||||
pb.timer = setTimeout(function() { pb.sendPing(); }, pb.delay);
|
||||
if (matches.length >= 2) {
|
||||
pb.setProgress(matches[0], matches[1]);
|
||||
}
|
||||
pb.timer = setTimeout(function() { pb.sendPing(); }, pb.delay);
|
||||
}
|
||||
|
|
|
@ -5,16 +5,17 @@ if (isJsEnabled()) {
|
|||
}
|
||||
|
||||
if ($('progress')) {
|
||||
updateCallback = function (progress, status) {
|
||||
updateCallback = function (progress, status, pb) {
|
||||
if (progress == 100) {
|
||||
pb.stopMonitoring();
|
||||
window.location = window.location.href.split('op=')[0] +'op=finished';
|
||||
}
|
||||
}
|
||||
|
||||
this.progress = new progressBar('updateprogress', updateCallback, HTTPPost);
|
||||
this.progress.setProgress(-1, 'Starting updates...');
|
||||
$('progress').appendChild(this.progress.element);
|
||||
this.progress.startMonitoring('update.php?op=do_update', 0);
|
||||
var progress = new progressBar('updateprogress', updateCallback, HTTPPost);
|
||||
progress.setProgress(-1, 'Starting updates...');
|
||||
$('progress').appendChild(progress.element);
|
||||
progress.startMonitoring('update.php?op=do_update', 0);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue