Показать сообщение отдельно
Старый 27.04.2007, 06:19
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 18  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Код:
_global.idsArray = [];
ASSetPropFlags(_global, [setInterval], 0, 7); //оказалось - не нужно
_global.oldI = _global.setInterval;
_global.setInterval = function(){
	trace(arguments);
	var i = oldI.apply( null, arguments);
	idsArray.push( i );
	return(i);
}
ASSetPropFlags(_global, ["setInterval", "oldI"], 7, 7);//можно и не делать
setInterval ( trace, 1000, "interval");
setInterval ( trace, 1100, "interval2");
function f(){
   trace ( arguments.join("") );
	}
setInterval(this, "f", 5000, "син", "так", "сис", "2" );
function xMan(){
	var i;
	while(  i = idsArray.pop() )clearInterval( i );
	trace ("мусорщик пришел и все смел");	
	}
var i1 = oldI( trace, 2000, "а это наш интервал, его пока не убиваем" );
var i2;
var temp = function(){
	clearInterval(i1);
	clearInterval(i2);
	trace ("ну и наших убъем");	
}
var i2 = oldI( temp, 10000 );
setInterval ( xMan, 5500 );
trace( idsArray );

PS> тоже хак, конечно, но поддерживает оба синтаксиса и переменное число аргументов userData. Enjoy, короче.


Последний раз редактировалось Kikasso; 27.04.2007 в 09:57.