 
			
				10.07.2009, 18:46
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Кандидат Javascript-наук 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 22.09.2008 
					
					
					
						Сообщений: 111
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Перехват функций/методов
			 
			
		
		
		
		Всем доброго времени суток, мне очень потребовался плагин-сканер для фаерфокса, который к примеру, после нажатия кнопки старт,  выводит последовательный список вызовов всех функций/методов в рантайме.  
 
Если такой штуки в природе не существует, может можно как-то самому написать скрипт, формирующий список вызовов, а потом вклеивать его плагином, в страницу, где требуется перехват? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				13.07.2009, 11:10
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Кандидат Javascript-наук 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 22.09.2008 
					
					
					
						Сообщений: 111
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Народ, ответьте, перехват вызовов можно сделать как-либо?) 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				13.07.2009, 12:25
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.02.2008 
					
					
					
						Сообщений: 707
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Вам нужно посмотреть call-стек? Можно отладчиком (Firebug, Venkman). 
		
	
		
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				13.07.2009, 12:34
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Кандидат Javascript-наук 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 22.09.2008 
					
					
					
						Сообщений: 111
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Dmitry A. Soshnikov, спасибо, а подскажите как на фаербаге смотреть стек, там есть кнопка Stack во вкладке Script, но там ничего не отображается.. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				13.07.2009, 12:41
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.02.2008 
					
					
					
						Сообщений: 9,177
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		В Firefox'е можно сделать  
alert(new Error().stack);
  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				13.07.2009, 13:00
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Кандидат Javascript-наук 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 22.09.2008 
					
					
					
						Сообщений: 111
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Kolyaj, он выдаёт какую-то непонятную строчку - но это точно не список выполненных функций.. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				13.07.2009, 13:25
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.02.2008 
					
					
					
						Сообщений: 9,177
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
(function test1() {
    (function test2() {
        (function test3() {
            alert(new Error().stack);
        })();
    })();
})();
	
 
	| 
		
			 Цитата: 
		
	 | 
 
	
		Error()@:0 
test3()@http://javascript.ru/forum/misc/4319-perekhvat-funkcijj-metodov.html#post24272:68 
test2()@http://javascript.ru/forum/misc/4319-perekhvat-funkcijj-metodov.html#post24272:67 
test1()@http://javascript.ru/forum/misc/4319-perekhvat-funkcijj-metodov.html#post24272:66
	 | 
 
	
 
 Дальше идут файебаговские скопы.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				13.07.2009, 13:28
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Модератор Всея Форума 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.05.2009 
					
					
					
						Сообщений: 4,021
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 ... 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				13.07.2009, 13:43
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Кандидат Javascript-наук 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 22.09.2008 
					
					
					
						Сообщений: 111
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Kolyaj, понял, но мне нужно немножко не это. Мне нужен сканер выолненных функций - к примеру я нажал кнопку "start", и все функции/методы, которые выполнятся в скрипте до нажатия кнопки "stop" добавились в какой либо список, где всего лишь есть названия функций, и параметры.. Больше мне не надо. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				13.07.2009, 13:51
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Кандидат Javascript-наук 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 22.09.2008 
					
					
					
						Сообщений: 111
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Такая ситуация, что я пишу плагин для рессурса с очень крупными скриптами - онлайн игра. Разбираться в них и долго и ненужно. При симуляции события я обычно просто брал элемент, который его пускает, и брал событие из параметров типа OnClick="..", итп. тут я столкнулся с той проблеммой, что элемент вроде бы и реагирует на щелчок к примеру, но внутри него не прописаны никакие события. Вот мне и надо узнать, какая функция выполняется по щелчку на объект - element.click undefined, поэтому только так.. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |