klausfpga: Firefox: Wie kann ich ein Javascript (mit alerts) abbrechen?

Hi,

Ich hab folgendes kleinen Javascript zweizeiler.

n=5;  
for(i=0;i<n;i++) alert("na stoppmichdoch"+i);

Wie kann ich denn Firefox dazu bringen mein Script abzubrechen.
Bei n = 5 kann man ja noch 5 mal klicken, wenn n aber dummerweise etwas groesser waere es manchmal angenehm einfach zu stoppen.

Das Problem, dass ich habe ist, dass Firefox waehrend eine alert box geoeffnet ist nicht erlaubt einen tab oder gar den ganzen browser zu schliessen. ( kann natuerlich einfach nen kill machen, aber top find ich das nicht)

Beim Debuggen ist das etwas laesting, da ich manchmal Dank eines Tippfehlers im Code etwas mehr alerts bekomme als ich will.

Ich bin fuer Anregungen dankbar.

Ich koennte ja meine eigene alertfunktion schreiben, die maximal N_max alerts ausspuckt, dass ist aber nicht genau das was ich will, da das script theoretisch mehrere Stunden laufen kann und alle paar Minuten (unter umstaenden einen alert ausspuckt).

Ich muesste also eher so etwas wie (alerts pro Minute abfragen)

bye

Klaus

  1. Hi,

    n=5;

    for(i=0;i<n;i++) alert("na stoppmichdoch"+i);

    
    >   
    > Wie kann ich denn Firefox dazu bringen mein Script abzubrechen.  
    > Bei n = 5 kann man ja noch 5 mal klicken, wenn n aber dummerweise etwas groesser waere es manchmal angenehm einfach zu stoppen.  
      
    Dann nimm doch confirm statt alert - und lasse dessen Rückgabewert mit in die Laufbedingung der Schleife mit einfliessen.  
    Dann kannst du als Nutzer aktiv aus der Schleife aussteigen, wann immer dir danach ist.  
      
    MfG ChrisB  
      
    
    -- 
    Light travels faster than sound - that's why most people appear bright until you hear them speak.
    
    1. Hi Chris,

      Ist natuerlich ne Idee, aber bei mir mit dem momentanen Code
      nicht wirklich praktisch, da er in Wirklichkeit nen Tick komplizierter ist.

      Die Schleife ruft eine Funktion auf und viele Aufrufebenen tiefer ist der alert().
      Einige Funktionen haben bereits return Werte fuer andere Dinge.

      Frueher oder spaeter sollte ich den code wirklich so aufraeumen, dass confirm problemlos verwendet werden kann.

      Allerdings find ich es etwas mickrig von den Browserherstellern, dass eine
      site, die einen mit alerts() bombardiert den Browser mehr oder weniger lahmlegt.

      Meiner Meinung nach sollte alert() nur fuer einen tab modal sein und man sollte jederzeit faehig sein den tab noch zu schliessen.

      Besser waere vielleicht sogar noch, dass wenn man ein alert fenster schliesst (aufs 'x' oben rechts klicken und nicht auf 'OK'), man gefragt wird ob man das Javascript abbrechen will.

      Naja, man kann ja immer ein bischen traeumen.

      bye

      Klaus

      Hi,

      n=5;

      for(i=0;i<n;i++) alert("na stoppmichdoch"+i);

      
      > >   
      > > Wie kann ich denn Firefox dazu bringen mein Script abzubrechen.  
      > > Bei n = 5 kann man ja noch 5 mal klicken, wenn n aber dummerweise etwas groesser waere es manchmal angenehm einfach zu stoppen.  
      >   
      > Dann nimm doch confirm statt alert - und lasse dessen Rückgabewert mit in die Laufbedingung der Schleife mit einfliessen.  
      > Dann kannst du als Nutzer aktiv aus der Schleife aussteigen, wann immer dir danach ist.  
      >   
      > MfG ChrisB  
      >   
      > 
      
      1. Hallo klausfpga

        Ist natuerlich ne Idee, aber bei mir mit dem momentanen Code
        nicht wirklich praktisch, da er in Wirklichkeit nen Tick komplizierter ist.

        Die Schleife ruft eine Funktion auf und viele Aufrufebenen tiefer ist der alert().
        Einige Funktionen haben bereits return Werte fuer andere Dinge.

        Du musst den Rückgabewert des „confirm” nicht unbedingt direkt verwenden, oder als Rückgabewert von Funktion zu Funktion schleifen. Du könntest ihn auch in einer Variable speichern, die sowohl der Funktion mit der Schleife als auch der aufgerufenen bekannt ist.

        Auf Wiederlesen
        Detlef

        --
        - Wissen ist gut
        - Können ist besser
        - aber das Beste und Interessanteste ist der Weg dahin!
  2. Wenn Du das nur zum Testen brauchst, könntest Du eine Ausnahme mit throw "werfen".

  3. Hi,

    Ich hab folgendes kleinen Javascript zweizeiler.

    n=5;

    for(i=0;i<n;i++) alert("na stoppmichdoch"+i);

    
    >   
    > Wie kann ich denn Firefox dazu bringen mein Script abzubrechen.  
      
    Warte, warte... ich habs gleich...  
      
    aah, da ist es: https://bugzilla.mozilla.org/show\_bug.cgi?id=61098
    
    1. Servus,

      for Log-Ausgaben ist alert recht unpraktisch. Ich empfehle dir, eine Fehlerkonsole herzunehmen. Firebug würde sich z.B. anbieten.

      Gruss
      Patrick

      --
      sh:( fo:| ch:? rl:( br:> n4:( ie:% mo:) va:} de:> zu:) fl:| ss:| ls:[ js:|
      1. for Log-Ausgaben ist alert recht unpraktisch. Ich empfehle dir, eine Fehlerkonsole herzunehmen. Firebug würde sich z.B. anbieten.

        Huch, war eigentlich als Antwort auf das OP gedacht, nicht den Teilthread.

        --
        sh:( fo:| ch:? rl:( br:> n4:( ie:% mo:) va:} de:> zu:) fl:| ss:| ls:[ js:|
    2. Wow, das Problem ist erst seit 9 Jahren bekannt und scheibar sit den Entwicklern immer noch keine Befriedigende Loesung eingefallen.

      Hi,

      Ich hab folgendes kleinen Javascript zweizeiler.

      n=5;

      for(i=0;i<n;i++) alert("na stoppmichdoch"+i);

      
      > >   
      > > Wie kann ich denn Firefox dazu bringen mein Script abzubrechen.  
      >   
      > Warte, warte... ich habs gleich...  
      >   
      > aah, da ist es: https://bugzilla.mozilla.org/show\_bug.cgi?id=61098