von Omega2k |
Sorry, wenn ich euch enttäuschen muss, aber mit den PHP-Befehlen kann man leider nur die Ladezeit auf dem Server errechnen - nicht aber die Zeit, die die Seite beim User braucht um auf dem Browser zu erscheinen.
Man muss Dummerweise einen Bruch ins HTML machen um reelle Werte zu bekommen:
.............................................unter <HEAD>
<input type="hidden" name="is_timer" value="0"><script language="JavaScript" type="text/javascript" src="js/start_loading_timer.js"></script>
.............................................start_loading_timer.js:
<!--
function RightNow() {time = new Date();return time.getTime();}
function CalculateSpeed(timeStart){timeEnd = RightNow();timeElapsed = (timeEnd - timeStart)/1000;return timeElapsed;}
var timeStart = RightNow();
// -->
.............................................vor </BODY>
<script language="JavaScript" type="text/javascript" src="js/end_loading_timer.js"></script>
.............................................end_loading_timer.js:
<!--
var timer_value=CalculateSpeed(timeStart).toString();
var komma=timer_value.indexOf('.');
var nachkomma=timer_value.substring(komma+1);
if (nachkomma.length<1) timer_value=timer_value+'000 s';
else if (nachkomma.length<2) timer_value=timer_value+'00 s';
else if (nachkomma.length<3) timer_value=timer_value+'0 s';
else timer_value=timer_value+' s';
if (document.layers && is_timer.value==1) {
document.layers.timer.document.write(timer_value);
document.layers.timer.document.close();
}else if (document.all && is_timer.value==1) timer.innerHTML = timer_value;
// -->
und irgendwo auf der Seite, wo man die Ladezeit angezeigt haben will...
.............................................einfach das hier:
<script language="JavaScript" type="text/javascript">is_timer.value=1;</script>
<span id="timer" style="position:relative;">0.000 s</span>
Dann wird auch die Ladezeit beim User gemessen... siehe http://omega2k.dynu.com (die Box rechts unten) |
von einstein |
btw: wenn dir das da oben zu komplizierter ist:
in den header der Seite
$time_start = time();
und in den Footer
$time_end = time();
$loading_time = $time_start-$time_end;
eignet sich nur für Sites auf einem sehr schlechten Server ;) oder riesige Seiten, da die Angabe in Sekunden doch recht ungenau ist.
Wenn du mit Milli Sec arbeiten möchtest dann brauchst du die Funktion von oben... |
von Pom |
mit Javascript:
<script>
<!--
x = new Date()
function cal() {
y = new Date()
diff = y.getTime() - x.getTime()
alert("Es dauerte " + diff/1000 + " Sekunden, um diese Seite zu laden")
}
//-->
</script>
<body onload="cal()">
</body>
(www.jswelt.de)
gruss Pom |
von Cassiopeia |
ja gut, aber wie stelle ich das mit javascript an??? |
von michael |
das ist wie lange die seite braucht um generiert zu werden, also im parser... wie lange die lädt.... mmm könnte man mit javascript probieren....
|