Performance (rozszerzenie)#
Performance.now()#
Metoda now() zwraca liczbę rzeczywistą reprezentującą czas wysokiej rozdzielczości jaki upłynął względem czasu rozpoczęcia nawigacji dokumentu.
Składnia#
Samo wywołanie i poszczególne jego części najlepiej objaśnić na zapisie składniowym:
var time = window.performance.now();
gdzie poszczególne człony oznaczają:
time- czas wysokiej rozdzielczości w postaci liczby rzeczywistej.window- okno będące obiektem kontekstu.
Algorytm wywołania metody now() nie jest skomplikowany. Dla lepszego zrozumienia tematu prezentuję go w całości:
- Zwróć wartość typu
DOMHighResTimeStampreprezentującą czas w milisekundach jaki upłynął od czasu pochodzenia do wystąpienia wywołania metodynow().
Wartość czasu zwracana przez metodę now() musi być monotonicznie rosnąca i nie może podlegać regulacjom zegara systemowego lub synchronizacjom zegara systemowego (np. protokołem NTP). Różnica pomiędzy dwoma chronologicznie zapisanymi wartościami czasowymi zwracanymi przez metodę now() nie może być nigdy negatywna - chociaż 0 może się przytrafić jeśli np. wywołamy metodę now() jedna za drugą (tak dzieje się w przypadku przeglądarki Chrome).
Prosty przykład:
<!DOCTYPE html>
<html>
<head>
<script>
function measureTime(){
var info = document.getElementById("info");
info.innerHTML += performance.now() + "<br>";
}
</script>
</head>
<body>
<p>Kliknij w przycisk by dokonać nowego pomiaru czasu wysokiej rozdzielczości.</p>
<input type="button" value="Performance.now()" onclick="measureTime()">
<p style="color: blue;">Szczegółowe informacje:</p>
<p id="info"></p>
</body>
</html>Interfejs Web IDL#
DOMHighResTimeStamp now();