2016-03-25 2 views
1

Ist es möglich, den aktuellen Status einer Seite und deren JavaScript-Variablen in Chrome Devtools zu speichern, um den gleichen Status später erneut zu laden?Chrome-Entwicklungstools: JavaScript-Status speichern

Als Hintergrund: Ich arbeite an einem Projekt, das ein Frage-Antwort-System hat. Dieser Mechanismus wird von JavaScript gehandhabt und mein Workflow ist im Moment schrecklich, weil ich die Nummer zehn schreibe und die ersten neun Fragen jedes Mal beantworten muss, wenn ich meinen Code testen muss.

Ich mag würde Fragen 1-9, speichern den Zustand der Variablen auf der Seite beantworten, Änderungen vornehmen 10 Code und Test in Frage zu stellen nach dem ersten bis Frage den Zustand Nachladen 9.

+0

Es klingt, als müssten Sie wiederverwendbaren Code schreiben, anstatt jede einzelne Frage einzeln zu implementieren. –

+0

@ DanielA.White sicherlich, und die Fragen 1-9 sind wiederverwendbar. Es ist Frage 10, die leider eine Ausnahme codiert haben muss. – Antti

Antwort

1

Es ist schwierig, dies zu machen arbeite genau so, wie du es beschreibst, da das Konzept the variables on the page nicht einfach zu bearbeiten ist. Was passiert, wenn Sie einen Variablennamen im Code hinzufügen?

Es gibt ein paar Dinge, die Sie versuchen könnten.

1. Entfernen Sie die ersten 9 Fragen aus dem Quiz

Sind sie für die Prüfung notwendig?

2. Finden Sie heraus, welche Variablen gesetzt sind und sie dann

Zum Beispiel nach oben zurück, wenn die window.questionIndex und window.answersGiven Eigenschaften den Zustand der Seite beschreiben Sie sie nach oben wie folgt zurück könnte:

function backup(){ 
    localStorage.setItem("questionIndex", JSON.stringify(window.questionIndex)); 
    localStorage.setItem("answersGiven", JSON.stringify(window.answersGiven)) 
} 
function restore(){ 
    window.questionIndex = JSON.parse(localStorage.getItem("questionIndex")); 
    window.answersGiven = JSON.parse(localStorage.getItem("answersGiven"); 
} 

3. Automatisieren Sie den Prozess durch das Quiz klicken

würde ein Skript wie dieses do der Trick?

var interval = setInterval(function(){ 
    $("#answer1").click() 
}, 100) 
setTimeout(function(){ 
    clearInterval(interval); 
}, 100 * 9) 

4. die letzte Frage unabhängig entwickeln, bevor es

Erstellen Sie eine leere Seite und laden Sie das Modul nur für Frage # 10 auf sie zu integrieren. Sobald der Coe wie erwartet funktioniert, integrieren Sie ihn in das vollständige Quiz.