Hallo,
ich habe eine Progressbar, die eingentlich super läuft.
Nur ab und zu bleibt die Anzeige einfach stehen, der Ladenvorgang
wird aber weiter ausgeführt und am Ende wird auch auf die passenden Seite
weitergeleitet.
Die Datei ist auch komplett auf dem Server.
Ich vermute das es am Quellcode von JavaScript liegt.
Hat jemand schon mal das Problem gehabt oder weiss mit jemand Rat?
Hier der Quellcode:
ich habe eine Progressbar, die eingentlich super läuft.
Nur ab und zu bleibt die Anzeige einfach stehen, der Ladenvorgang
wird aber weiter ausgeführt und am Ende wird auch auf die passenden Seite
weitergeleitet.
Die Datei ist auch komplett auf dem Server.
Ich vermute das es am Quellcode von JavaScript liegt.
Hat jemand schon mal das Problem gehabt oder weiss mit jemand Rat?
Hier der Quellcode:
PHP-Code:
<script type="text/javascript" src="mootools/mootools-1.2.1-core-nc.js"></script>
<script type="text/javascript">
window.addEvent('load', function() {
$('submit').addEvent('click', function()
{
var finished = false;
var percent = 0.0;
var total = 0;
var complete = 0;
var perform;
var periodical;
var morph = new Fx.Tween('status');
var request = new Request({
url: 'status.php?id=<?= $id?>',
method: 'get',
update: 'status',
onComplete: function(response) {
objectsReturned = JSON.decode(response);
$each(objectsReturned, function(item, index){
if (index=="finished")
{
finished = item;
if (finished==true)
$clear(periodical);
}
if (index=="perform")
perform = item;
if (index=="percent")
percent = item;
if (index=="total")
total = item;
if (index=="complete")
complete = item;
});
<?php
if ($_SESSION[$SESSION_KEY]["handler"]=="noplugin")
{
?>
if (!finished)
{
$('info').set('html', 'Information about upload progress are not available.');
}
else
{
<?php
}
?>
$('info').set('html', '<h4>Ihre Daten werden geladen. Bitte warten Sie.</h4><br />'
+'<h2><strong>Prozent: '+Math.round(percent)+'%<br />'
+'bisher geladen: '+complete+' byte<br />'
+'Dateigröße gesamt: '+total+' byte</strong></h2>');
$('status').tween('width', Math.round(percent)*2+'px');
if (finished==true)
setTimeout("self.location.href='daten_upload.inc.php'",2000);
<?php
if ($_SESSION[$SESSION_KEY]["handler"]=="noplugin")
{
?>
}
<?php
}
?>
}
});
perform = function () {
request.send();
}
periodical = perform.periodical(1000);
});
});
</script>