Jak zablokować wywołanie kodu z setInterval?

0

Cześć,
Mam pytanie, czy jest jakiś sposób na to, żeby za pomocą JavaScript wyłączyć wszystkie aktualnie aktywne wywołania setInterval()? Kod jest taki:
setInterval('JakaśDurnaFunkcja();', 5000);
I znalazłem w sieci odnośnik do własnej strony w ramce, po 5 sekundach od załadowania się strony wyskakują mi jakieś dziwne rzeczy. Wiem, że mogę wykonać skrypt, który automatycznie zablokuje mi ramki na stronie, ale mam trochę inny pomysł. Tylko najpierw musiałbym zdezaktywować ten kod.
pzdr

0

http://www.elated.com/articles/javascript-timers-with-settimeout-and-setinterval/

Będziesz musiał użyć SetTimeout. Sam kiedyś używałem.
SetTimeout zwraca numer timera, więc zapisujesz go w
jakieś zmiennej, a potem 'clearTimeout([tutaj ta zmienna])'.

0

Nie, nie, nie. Chodzi o zablokowanie kodu na który nie mam wpływu (moja strona jest wyświetlona w ramce i chce wywalić interval który został tam wywołany). Znalazłem coś takiego

i = setInterval(function(){},100) + 1 
while(i--){ 
clearInterval(i) 
}

Sprawdziłem w konsoli i faktycznie kolejne wywołania funkcji setInterval zwracają kolejne liczby całkowite, może komuś się przyda. Mam nadzieję tylko, że to też wywali ten setInterval zdefiniowany w tej durnej nadrzędnej ramce.

1

Trzeba było trochę zmodyfikować kod - powyższy nie zadziała. Ponieważ czasem tu zaglądam, to wrzucę to - ten kod usuwa wszystkie intervaly ramki nadrzędnej.

 
i = self.parent.setInterval(function(){},100) + 1 
  while(i--){ 
    self.parent.clearInterval(i) 
  } 

1 użytkowników online, w tym zalogowanych: 0, gości: 1