Vielen dank für Ihre Antwort. :) Nun habe ich dazu noch eine Folgefrage:
Es geht grundsätzlich um eine Studie, in der die Antwortlatenzen der Probanden gemessen werden sollen - hierbei soll von dem Moment, in dem die Seite vollständig geladen hat bis zu dem Zeitpunkt, in dem der Proband das erste Mal eine Taste bedient, gemessen werden. Dies habe ich mit einem EventListener (keydown) umgesetzt. Bis dato sah der Code wie folgt aus (misst schon ab Generierung der Seite, ohne Korrektur dieser Verzerrung durch einen verzögerten Seitenabruf):
<script>
performance.mark("mess0"); // Setzen des ersten Messpunktes 1, wir müssen 0 verwenden da man bei 0 anfängt zu zählen
addEventListener("keydown", function() { // Befehl, der eine Tastatureingabe überwacht
performance.mark("mess1"); // Setzen des ersten Messpunktes 2
performance.measure("differenz1", "mess0", "mess1"); // Variablenvergabe, Variable heisst Messpunkte, und es werden alle "marks" automatisch benannt
var messpunkte = performance.getEntriesByType("mark");
var messdifferenzen = performance.getEntriesByType("measure"); // Variablenvergabe, Variable heisst Messdifferenzen, und es werden alle "measures" automatisch benannt
var input = document.getElementById("IV01_01");
input.value = messdifferenzen[0].duration;
console.log(messdifferenzen);
});
</script>
Diese Code hat soweit funktioniert und gibt mir auch eine Differenzzeitmessung in Millisekunden aus, allerdings würde ich nun gerne noch Ihren Befehl einbinden, um die Messung genauer zu machen (Beginn der Messung, wenn Seite vollständig geladen ist).
Mein Versuch des Einbindens:
<script>
// Setzen des ersten Messpunktes 1, wir müssen 0 verwenden da man bei 0 anfängt zu zählen
var intVar = document.getElementById("IV01_01");
var pageStart = new Date();
var pageLoad = -1;
window.addEventListener("load", function() {
pageLoad = new Date();
});
addEventListener("keydown", function() { // Befehl, der eine Tastatureingabe überwacht
performance.mark("mess1"); // Setzen des Messpunktes 2
performance.measure("differenz1", "load", "mess1");
// Variablenvergabe, Variable heisst Messpunkte, und es werden alle "marks" automatisch benannt
var messpunkte = performance.getEntriesByType("mark");
var messdifferenzen = performance.getEntriesByType("measure"); // Variablenvergabe, Variable heisst Messdifferenzen, und es werden alle "measures" automatisch benannt
var input = document.getElementById("IV01_02");
input.value = messdifferenzen[0].duration;
console.log(messdifferenzen);
});
</script>
Ich bin mir nicht ganz sicher, wo ich das Ganze einbinden soll & ob es mit performance.mark("mess0") am Anfang dann nicht inhaltliche Dopplungen (zwei Definitionen bezogen auf den ersten Messzeitpunkt) gibt? Doch wenn ich diese Zeile entferne gibt es Probleme bei der Differenzmessung unten... (keine Messwert-Ausgabe der internen Variablen).
Könnten Sie mir weiterhelfen, an welcher Stelle ich Ihren Code richtig einbinde?
Vielen Dank im Voraus! :)
LG Daniel