ChrisB: Blockierung durch Endlosschleifen - Workaround: Zeitintervalle

Beitrag lesen

Hi,

gehen würd es evtl so:

abc = true;

while( abc ) {
  //native code
}

stopit = function () {
  window.abc = false;
}

dann halt noch:
<span onclick="stopit()">Schleife anhalten</span>

Nein, so klappt es *nicht* - weil der Nutzer nie dazu kommen wird, stopit ueber Klick auf den Span aufzurufen.
Die Endlosschleife "blockiert" die Interaktion mit dem restlichen Seiteninhalt vollstaendig.

Wenn man so etwas realisieren will, dann muss man die "Endlosschleife" ueber setTimeout/setInterval realisieren - so dass in der Abarbeitung des JavaScript-Codes immer wieder kleine zeitliche "Luecken" entstehen, in denen das UI des Browsers sich wieder um sonstiges, wie bspw. das Klicken auf ein Element in der Seite, kuemmern kann.

Btw: Auch wenn die bisherigen Ueberschriften im Threadverlauf sicherlich nicht sonderlich clever gewaehlt waren - deine ist nicht minder daemlich.

MfG ChrisB