Der Pilot: Kennst sich jemand richtig gut mit JS aus

Hallo,

ich möchte ein kleines Skript meines Freundes austricksen.
Auf seiner Seite hat er ein kleines Skript das eine Variable von 50 auf 0 herunterzählt. Bei jedem Aufruf ist der Variablenname aber immer anderns. Er folgt aber immer dem Schema

var x0000 = 50;

also nach dem x kommt eine 4-stellige Zahl.

Ist es irgendwie in einer Schleife möglich alle möglichen Variationen dieser Variable auf 0 zu setzen?

Also x0001 bis x9999.

Oder noch besser ist es möglich herauszufinden wie der Variablenname ist  dessen Wert auf 50 ist?

  1. Hallo,

    Ist es irgendwie in einer Schleife möglich alle möglichen Variationen dieser Variable auf 0 zu setzen?

    Also x0001 bis x9999.

    Globale Variablen sind Unterobjekte des window-Objektes. Man kann auf Unterobjekte über die Schreibweise window.variable, aber auch über window["variable"] zugreifen. Im letzteren Fall kann der Variablenname als String vorliegen, du kannst ihn also mit JavaScript generieren.

    Du zählst mit einer for-Schleife von 1 bis 9999. Jede dieser Zahlen wandelst du in einen String um (mit zahl.toString()) und hängst gegebenenfalls Nullen davor (über eine weitere Schleife, die so oft läuft, bis der String eine Länge von 4 hat). So wird aus 123 der String "123" wird und daraus "0123". Dann kommt ein »x« davor.

    Wenn du so den Namen in einem String hast, kannst du die entsprechende Variable überschreiben:

    var name = "x0123"
    window[name] = 0;

    Oder noch besser ist es möglich herauszufinden wie der Variablenname ist  dessen Wert auf 50 ist?

    Mit einer for-in-Schleife lassen sich alle Unterobjekte von window durchlaufen. Davon interessieren dich nur die, dessen Namen mit »x« beginnt (string.charAt(0)).

      
    for (var name in window) {  
       if (name.charAt(0) == "x") {  
          alert(name);  
       }  
    }
    

    Mathias

  2. Hi,

    ich möchte ein kleines Skript meines Freundes austricksen.
    Auf seiner Seite hat er ein kleines Skript

    Und Du hast Zugriff auf den Server seiner Seite, so dass Du Dein Script dort hochladen kannst?
    Oder teilt Ihr Euch zumindest eine Domain?

    Javascript hat aus Sicherheitsgründen keinen Zugriff auf Seiten außerhalb der eigenen Domain.

    freundliche Grüße
    Ingo