Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.07.2009, 18:46
Кандидат Javascript-наук
Отправить личное сообщение для SunnyDay Посмотреть профиль Найти все сообщения от SunnyDay
 
Регистрация: 22.09.2008
Сообщений: 111

Перехват функций/методов
Всем доброго времени суток, мне очень потребовался плагин-сканер для фаерфокса, который к примеру, после нажатия кнопки старт, выводит последовательный список вызовов всех функций/методов в рантайме.

Если такой штуки в природе не существует, может можно как-то самому написать скрипт, формирующий список вызовов, а потом вклеивать его плагином, в страницу, где требуется перехват?
Ответить с цитированием
  #2 (permalink)  
Старый 13.07.2009, 11:10
Кандидат Javascript-наук
Отправить личное сообщение для SunnyDay Посмотреть профиль Найти все сообщения от SunnyDay
 
Регистрация: 22.09.2008
Сообщений: 111

Народ, ответьте, перехват вызовов можно сделать как-либо?)
Ответить с цитированием
  #3 (permalink)  
Старый 13.07.2009, 12:25
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

Вам нужно посмотреть call-стек? Можно отладчиком (Firebug, Venkman).
__________________
Тонкости ECMAScript
Ответить с цитированием
  #4 (permalink)  
Старый 13.07.2009, 12:34
Кандидат Javascript-наук
Отправить личное сообщение для SunnyDay Посмотреть профиль Найти все сообщения от SunnyDay
 
Регистрация: 22.09.2008
Сообщений: 111

Dmitry A. Soshnikov, спасибо, а подскажите как на фаербаге смотреть стек, там есть кнопка Stack во вкладке Script, но там ничего не отображается..
Ответить с цитированием
  #5 (permalink)  
Старый 13.07.2009, 12:41
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

В Firefox'е можно сделать
alert(new Error().stack);
Ответить с цитированием
  #6 (permalink)  
Старый 13.07.2009, 13:00
Кандидат Javascript-наук
Отправить личное сообщение для SunnyDay Посмотреть профиль Найти все сообщения от SunnyDay
 
Регистрация: 22.09.2008
Сообщений: 111

Kolyaj, он выдаёт какую-то непонятную строчку - но это точно не список выполненных функций..
Ответить с цитированием
  #7 (permalink)  
Старый 13.07.2009, 13:25
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 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
Дальше идут файебаговские скопы.
Ответить с цитированием
  #8 (permalink)  
Старый 13.07.2009, 13:28
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

...
Ответить с цитированием
  #9 (permalink)  
Старый 13.07.2009, 13:43
Кандидат Javascript-наук
Отправить личное сообщение для SunnyDay Посмотреть профиль Найти все сообщения от SunnyDay
 
Регистрация: 22.09.2008
Сообщений: 111

Kolyaj, понял, но мне нужно немножко не это. Мне нужен сканер выолненных функций - к примеру я нажал кнопку "start", и все функции/методы, которые выполнятся в скрипте до нажатия кнопки "stop" добавились в какой либо список, где всего лишь есть названия функций, и параметры.. Больше мне не надо.
Ответить с цитированием
  #10 (permalink)  
Старый 13.07.2009, 13:51
Кандидат Javascript-наук
Отправить личное сообщение для SunnyDay Посмотреть профиль Найти все сообщения от SunnyDay
 
Регистрация: 22.09.2008
Сообщений: 111

Такая ситуация, что я пишу плагин для рессурса с очень крупными скриптами - онлайн игра. Разбираться в них и долго и ненужно. При симуляции события я обычно просто брал элемент, который его пускает, и брал событие из параметров типа OnClick="..", итп. тут я столкнулся с той проблеммой, что элемент вроде бы и реагирует на щелчок к примеру, но внутри него не прописаны никакие события. Вот мне и надо узнать, какая функция выполняется по щелчку на объект - element.click undefined, поэтому только так..
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перехват запроса submit, реально ли? kosyak Events/DOM/Window 7 08.06.2009 19:23
Перехват нажатия ctrl+space demi AJAX и COMET 6 11.03.2009 11:03
Перехват координат курсора мыши 1 раз в секунду Бондя Events/DOM/Window 16 20.01.2009 14:44