info@a-coding-project.de

Skripte anhalten

Bei vielen Programmieren stellt sich einmal die Frage: Wie kann ich die Ausführung des Skriptes anhalten?. Welche Möglichkeiten es gibt ein Skript für eine bestimmte Zeit anzuhalten und danach fortzusetzen alsob nichts gewesen wäre erfahren Sie im folgenden Artikel.

Die Nachrichten-Variante

Die einfachste, wenn auch nicht immer nützlichste, Variante ist das einbauen einer alert-, prompt- oder confirm-Nachricht. Während die Nachricht angezeigt wird steht das Script und erst nach Bestätigung der Nachricht wird weiter verfahren. Vorteile: Sehr einfach und sehr sicher, dass das Script wirklich stoppt. Die Nachteile: Es erscheint eine Nachricht die zeitlich nicht abhängig ist (sie kann also 1 Sekunde, 1 Minute oder auch 1 Stunde lang angezeigt werden - je nach dem wann der Benutzer diese bestätigt). Beispiel:

function abc()
{
 a = 1;
 alert('Hier stoppt das Script!');
 a++;

Die Schleifen-Variante

Eine ebenfalls einfache allerdings sehr unsichere Variante, ist der Einbau einer Schleife. Je nach dem, wie lang das Script unterbrochen werden soll, definiert man eine bestimmte Zahl von Durchläufen. Vom Prinzip her ist völlig egal, was innerhalb der Schleife getan wird - man sollte nur vorher testen, wie lange es ungefähr dauert. Vorteil: einfach. Nachteil: unsicher. Beispiel:

function abc()
{
 a = 1;
 x = 0
 for(i=0;i<10000;i++){x = x+1;}
 //hier stoppt die Anwendung eine Weile
 a++;

Die Timeout-Variante

Die wohl sicherste und zugleich schwerste Variante ist das Einfügen eines Timeouts mit setTimeout. Dazu muss die Funktion bzw. der Code in zwei Funktionen (bzw. ein teil Code sowie eine Funktion) aufgeteilt werden. An der Stelle, an der die Unterbrechung geschehen soll, erfolgt die Teilung sowie der Einschub des Timeouts. Als Parameter des Timeouts wird die zweite Funktion mit allen erforderlichen Variablen sowie (als zweiter Parameter), die Anzahl der Millisekunden die der Timeout dauern soll. Vorteil: sehr sicher. Nachteil: je nach Code sehr umständlich. Beispiel:

function abc()
{
 a = 1;
 window.setTimeout('abc_teil2('+a+')',1000);
}

function abc_teil2(a)
{
 a++;

Über uns

Stefan Wienströer

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project

Auch interessant