-2

Wie kann ich die Werte von Variablen im JavaScript-Code einer Website ändern?Wie kann ich die Werte von Variablen im JavaScript-Code einer Website ändern?

Ich möchte wissen, weil ich im Moment eine Website erstelle, und als Teil des Codes habe ich eine Variable, deren Wert wichtige Konsequenzen für die Funktionalität der Website hat. Daher mein Wunsch zu wissen, wie jemand diesen Wert ändern kann (auch wenn es nur die Webseite betrifft, wie es dem Benutzer erscheint).

Ich bin besonders daran interessiert zu lernen, wie dies in Google Chrome zu tun.

+1

ist es ** Ihre eigene ** Website, die Sie ändern möchten? Wenn nicht, ist es unwahrscheinlich, dass Veränderungen in Ihrem Browser sich nur auf Sie selbst auswirken. Wenn Sie hoffen, jemanden zu finden, der erklärt, wie man hier eine Website hackt, sind Sie auf der falschen Seite. – Claies

+0

@Claies Ich möchte lernen, wie ich die Werte von Variablen im JavaScript-Code meiner eigenen Seite ändern kann, damit ich robuster Code erstellen kann. – user5508297

+0

Wie macht das Ändern des Werts von Variablen auf dem Client ein Programm robuster? – Claies

Antwort

3

Wenn Sie F12 in Chrome drücken und oben auf "Console" klicken, haben Sie einen voll funktionsfähigen JavaScript-Interpreter, der im Bereich der von Ihnen betrachteten Website lebt. Dies bedeutet, dass Sie so ziemlich jeden beliebigen Code in der Konsole eingeben und ihn als JavaScript-Code im globalen Bereich dieser Website ausführen können. Globale Variablen in <script>-Tags werden in diesem Bereich ausgesetzt, so dass, wenn Sie (zum Beispiel) haben auf Ihrer Seite:

<script> 
var x = {'a': 5}; 
</script> 

Sie können in x.a = 6 in der Konsole eingeben, drücken Sie die Eingabetaste, und die Variable wird in der Tat geändert werden.

Sie können sogar die Konsole verwenden, um die Werte von Builtins zu ändern, wie Array.map, obwohl dies nicht empfohlen wird, da es die Funktionalität des Website-Codes ändern oder brechen kann.

+1

Dev-Tools erlauben nicht nur den Zugriff auf globale Variablen, sondern auch auf * beliebige * Variablen. – Bergi

+0

@Bergi Ich versuche, die Variablen in einem Skript, das über eine Google Chrome-Erweiterung in eine bereits vorhandene Webseite injiziert wurde, zu ändern, aber ich bekomme immer wieder ReferenceError: Variablenname ist nicht definiert (...) - fehlt mir etwas? – user5508297

+3

Die Variable kann eine lokale Variable einer Funktion sein. Um darauf zuzugreifen, müssen Sie in der Funktion einen Haltepunkt setzen, damit die Variable im Gültigkeitsbereich ist. – Barmar