Jeśli przeglądarka ma włączoną obsługę JavaScript, jedną z rzeczy, które możesz zrobić, jest napisanie wbudowanego skryptu i wysłanie go w kodzie HTML. Skrypt będzie zrobić dwie rzeczy:
- rekordowym czasie obecny system w zmiennej JS (jeśli masz szczęście czas mógłby z grubsza odpowiadają czasowi rozruchu strona rendering).
- Dołącz funkcję JS do zdarzenia pageLoad. Ta funkcja ponownie zapyta o bieżący czas systemowy, odejmie czas rozpoczęcia od kroku 1 i wyśle go na serwer wraz z lokalizacją strony (lub unikalnym identyfikatorem, który można dynamicznie wstawić do skryptu wbudowanego na serwerze).
<script language="JavaScript">
var renderStart = new Date().getTime();
window.onload=function() {
var elapsed = new Date().getTime()-renderStart;
// send the info to the server
alert('Rendered in ' + elapsed + 'ms');
}
</script>
... usual HTML starts here ...
trzeba by upewnić się, że strona nie zastępują onload później w kodzie, ale dodaje do listy zamiast obsługi zdarzeń.
Znasz "Skrzypek" (https://www.fiddler2.com/fiddler2/version.asp)? – XpiritO
Fiddler może mierzyć czas potrzebny na wykonanie żądania i przesłanie go do klienta, ale jeśli strona jest ważna lub duża javascript, opóźnienie będzie większe, gdy przeglądarka przetworzy DOM i javascript. Jest to szczególnie ważne w przypadku IE6. – driis
"Skrzypek nie jest potrzebny": D – adpd