kostenloser Webspace werbefrei: lima-city


Variable "im Betrieb" ändern

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    d***********a

    <body>
    <script>
    var text="hallo";
    window.setTimeout("alert('"+text+"')",5000);
    </script>
    </body>


    Ich möchte der Variablen text, während ich die Homepage aufruf, einen neuen Wert zuweisen. Also im laufenden Betrieb.
    Also die Seite hier öffnen : http://dapizzafressa.lima-city.de/test.html und innerhalb der 5 Sekunden Zeit der Variablen text einen neuen Wert zuweisen, ohne die Seite neu zu laden.

    Geht das und wenn ja wie ?

    Grüße dapizzafressa

    PS: Ich möchte das ganze per Firefox lösen, wenn möglich
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Autor dieses Themas

    d***********a


    Hallo,

    also bei mir funktioniert das auch und der Code sieht ok aus ...

    Dass der Code geht weiß ich selber, ich hab ihn ja geschrieben. Allerdings beantwortet das nicht im Ansatz meine Frage. :eek:

    Ich mach mal ein Beispiel:

    Ich möchte, dass das Alert-Fenster nicht "hallo" sagt sondern zB "Ich grüße dich". Dazu möchte ich allerdings nicht das Dokument selber ändern, sondern während ich die Seite aufruf der Variablen einen neuen Wert zuweisen

    Beitrag geändert: 19.8.2008 10:21:56 von dapizzafressa
  4. achso sry, da hab ich wohl viel zu viel überflogen ist ja auch noch früh am morgen ;)

    wie willst du die denn ändern können (mit einen Textfeld oder wie) ?
  5. Autor dieses Themas

    d***********a

    Wie ich die ändern will weiß ich ja nicht, deswegen frag ich ja :biggrin:

    Ich möchte den Inhalt der Variablen halt irgendwie ändern, ohne die Seite neu laden zu müssen.
  6. Ich versteh das Prob nicht ganz.
    Kannste doch einfach mit text = 'Moinmoin'; ersetzen. Oder willste, dass der User selbst den Textangeben kann oder, dass die daten per Ajax aus einer XML-Datei geholt werden und zum Beispiel abhängig von einem Cookie etwas anderes ausgegeben wird?
  7. Autor dieses Themas

    d***********a

    Ne, ich möchte einfach, ohne die Seite (http://dapizzafressa.lima-city.de/test.html) zu verändern der Variable text einen anderen Wert zuweisen.
    Und da hab ich gefragt ob das geht und wenn ja wie.
    Es könnte ja zB ein Plugin für Firefox geben oder irgendetwas dementsprechendem.
    Also nochmal: Ich möchte die Seite nicht verändern, ich such eine Möglichkeit, die Variable von aussen zu ändern zB mithilfe eines Plugins oder wie auch immer ;)

  8. Ne, ich möchte einfach, ohne die Seite (http://dapizzafressa.lima-city.de/test.html) zu verändern der Variable text einen anderen Wert zuweisen.
    Und da hab ich gefragt ob das geht und wenn ja wie.
    Es könnte ja zB ein Plugin für Firefox geben oder irgendetwas dementsprechendem.
    Also nochmal: Ich möchte die Seite nicht verändern, ich such eine Möglichkeit, die Variable von aussen zu ändern zB mithilfe eines Plugins oder wie auch immer ;)


    Firefox: Firebug (o: Kannste im laufenden betrieb den ganzen Quellcode ändern :p

    Ich glaube was du suchst ist eine möglichkeit, praktisch im laufenden betrieb ein "Eingabefeld" erscheinen zu lassen, wo du dann deinen neuen Text eingibst? Wenn dem so ist probier mal:

    <body>
        <script>
            var text="hallo";
            text = prompt("Neuer Text:", text);
            window.setTimeout("alert('"+text+"')",5000);
        </script>
    </body>


    Ich hoffe, das hilft!?
  9. Autor dieses Themas

    d***********a

    Firebug schau ich mir mal an, bin gespannt, was das kann ;)

    Und nein, ich möchte kein prompt in meinen Quellcode einbaun. Wie ich oben erwähnte, soll die Datei eben nicht verändert werden.

    Grüße dapizzafressa
  10. t*****b

    <html>
     <head>
      <title>Für was man das auch immer braucht...</title>
      <script type="javascript">
    
       var text="hallo";
       window.setTimeout("alert('"+text+"')",5000);
    
       function changevalue(neuerwert) {
        text = neuerwert;
       }
    
      </script>
     </head>
    <body>
    
    <a href="#" onclick="javascript:changevalue('hallo welt...');">Hallo Welt nach 5 Sek. ausgeben</a>
    <a href="#" onclick="javascript:changevalue('irgendwas anderes...');">Irgendwas anderes nach 5 Sek. ausgeben</a>
    
    </body>
    </html>
  11. Autor dieses Themas

    d***********a

    Anscheinend ist immer noch nicht ganz klar, was ich tun möchte:
    Ich möchte auf einer beliebigen Seite, auf die ich z.B. auch keinen Zugriff hab, um den Code auf dem Server zu ändern, einer JS-Variable einen anderen Wert zuweisen. Also irgendwie Browserseitig.

    @nerdinator: Besten Dank, Firedebug war genau das, was is gesucht hab :). Danke !

    Grüße dapizzafressa
  12. e********l

    Ich möchte auf einer beliebigen Seite, auf die ich z.B. auch keinen Zugriff hab, um den Code auf dem Server zu ändern, einer JS-Variable einen anderen Wert zuweisen. Also irgendwie Browserseitig.

    Mal davon abgesehen das XSS in eine Grauzone fällt und von den wenigsten Browsern noch wirklich unterstützt wird, kannst du häufig zum ändern einer JavaScript Variable einfach die Website in ein Frame laden und dann über dein Frame von außen die ein oder andere Variable ändern, aber wie schon gesagt. Das fällt unter XSS und geht häufig nicht mehr.
  13. p*********o

    Ich denke das Problem liegt darin, dass SetTimeOut ein String erwartet und deswegen der Parameter mit als Wert und nicht als Referenz gespeichert wird. Somit wird beim Aufruf
    window.setTimeout("alert('"+text+"')",5000);

    temporär der Quelltext "alert('hallo')" gespeichert und nach Ablauf der Zeit ausgeführt, egal welchen Wert nun text hat.

    Das ganze lässt sich umgehen, wenn du eine Funktion verwendest:

    var text="hallo";
    window.setTimeout("sayText()",5000);
    
    function changevalue(neuerwert) {
        text = neuerwert;
    }
    
    function sayText(neuerwert) {
        alert(text);
    }


    MFG

    Edit:
    An alle die die Frage nicht richtig verstanden haben:
    Er möchte die Möglichkeit haben, dass der Text der ausgegeben wird vor Ablauf des Timouts noch geäntert wird (glaube ich zumindest :biggrin:)


    Beitrag geändert: 22.8.2008 14:09:12 von powertomato
  14. Bevor hier noch mehr (sinnlose) Antworten kommen, das Problem hat sich erledigt:
    @nerdinator: Besten Dank, Firedebug war genau das, was is gesucht hab :). Danke !


    -> CLOSED
  15. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!