singlepost

JavaScriрt: как отследить вызов функции << На главную или назад  

Собственно сабж :)

Есть функция А, содержимое которой изменять нельзя(!) и есть функция Б, которая должна быть вызвана после вызова А. Как их увязать между собой? 0_о

п.с. функция А выполняется когда того захочет юзер, что-то вроде формы submit, только сама форма отсутствует, поэтому привязка через кнопку невозможна =(

115 ответов в теме “JavaScriрt: как отследить вызов функции”

  1. 26
    Влад Темный ответил:

    под фф таких скриптов много уже..

  2. 25
    Леонид Максимов ответил:

    под оперу тоже.

  3. 24
    Леонид Максимов ответил:

    ondomready

  4. 23
    Александр Казанцев ответил:

    Ок, раз ты так уверен, то сделаю именно так, темболее проверку включать нужно всего на одной странице :)

  5. 22
    Дмитрий Соколов ответил:

    #19
    Да ладно – умирает?! Я трёхмерку типа Wolf3D видел на JS-е (*НЕ* GL из последнего FF, софт-растеризация) – и всё жило-дышало :) Что ж за дохлая машина нужна чтоб тетрис браузер убил?

    Мозилловский рейкастер:
    https://developer.mozilla.org/samples/raycaster/RayCaster.html

    Чья-то машинка (держать "вверх" чтоб ехала):

    //www.tapper-ware.net/canvas3d/

    В общем, браузеру плохо стать не должно, тем более что достаточно *один* раз получить ссылку на объект дива, далее просто проверять childNodes.length. Мне и не такую обработку по работе вешать на таймер приходилось – ничего, браузеры сдюживали :)

  6. 21
    Антон Кононов ответил:

    ждем теперь релиз для Greasemonkey в FF3.5

    шутю. не знаю зачем мне нужен твой скрипт. он чо делает то?

  7. 20
    Антон Кононов ответил:

    отписал тебе

  8. 19
    Александр Казанцев ответил:

    =))) Не видел. Вобщем отложу этот вопрос до лучших времен… мне пока так сойдет ))
    кому интересно что за скрипт читатайте тут //vkontakte.ru/note11085446_9535339 (для оперы)

  9. 18
    Александр Казанцев ответил:

    Это бы очень подошло, сам думал так сделать. А браузеру "плохо" не станет от постоянной работы скрипта?

  10. 17
    Антон Кононов ответил:

    ты тетрис на жаваскрипте видел? вот там браузер умирает))

  11. 16
    Дмитрий Соколов ответил:

    Можешь по таймеру часто проверять количество "детей" у дива, вплоть до момента изменения. Хотя не знаю как это соответствует задаче.

  12. 15
    Александр Казанцев ответил:

    Эх, пока что привязал свою функцию к событию OnMouseOver над результатами поиска…извращение =))) жаль для тега div не предусмотрено событие onChange -_-

    всем спасибо =)

  13. 14
    Александр Казанцев ответил:

    А с медленным инетом результаты поиска могут загружаться дольше секунды :) onload ставить некуда, т.к. страница не перезагружается. йа в замешательстве =o

  14. 13
    Дмитрий Соколов ответил:

    Кхм… ну это я, стало быть, задачу не совсем понял.

    А выставить в этом UserJS событие onload – никак? Ну или на худой конец таймер на секунду.

  15. 12
    Александр Казанцев ответил:

    Да это понятное дело… но userjs загружаются раньше, чем загрузилась страница (покрайней мере так в опере), поэтому var old_a = A; и не работает, вылетает с ошибкой Undefined variable A… в общем метод дмитрия не подходит (

  16. 11
    Александр Казанцев ответил:

    А как это ты в хром вставил левый скрипт? Дело в том, что подгружаемый мной скрипт к сайту не имеет отношения =) это UserJS, разве хром их поддерживает?

  17. 10
    Антон Кононов ответил:

    в ФФ например есть Greasemonkey

    заменит в коде любого сайта что хошь на что хошь на лету. Можешь вообще поиск переписать как угодно.

  18. 9
    Дмитрий Соколов ответил:

    Сейчас проверил – чудесно работает (FF, Opera, IE7, Chrome, Safari).

  19. 8
    Дмитрий Соколов ответил:

    Функция в JS – тоже объект. Пробуй что-то типа того:

    var old_a = A;
    A = function()
    {
    old_a.call(old_a);
    // свой код
    }

    Не испытывал этот код, всё чисто навскидку.

  20. 7
    Александр Казанцев ответил:

    Хм, нет гарантии что не выползет ошибка, мол A is undefined… ну я попробую

  21. 6
    Александр Казанцев ответил:

    Миха, ну с добрым утром! )))) нужно сделать функцию, которая отследит что А() была вызвана, а сама функция А() вызывается нажатием кнопки Enter на клавиатуре.

    Антон, да-да! Именно так, функция Б() как бы подложена )) вобщем весь код лежит в контакте… откройте страницу поиска. Все что мне нужно лежит тут: <div id="quickSearch"></div>

    Чуть ниже этого кода есть жабаскрипт, там лежит функция globalSearch(). Мой скрипт должен изменять содержимое страницы, но так как продвинутый поиск контакта НЕ перезагружает страницу, а просто изменяет ее содержимое, работа моего скрипта сводится на нет :) я не могу заставить мой скрипт выполниться еще раз после того, как контакт выдаст результаты поиска.

    Мне удалось сделать привязку к циферкам (страницы результатов, которые справа) – там все просто… при нажатии на цифру скрипт перезагружается, нужно сделать тоже самое. Мне не составляет проблемы прилепить перезагрузку скрипта к кнопке ПОИСК, но как быть с тегом INPUT???

  22. 5
    Антон Кононов ответил:

    эка ты замудрил. во-первых: почему нельзя менять код, если это JavaS?1?ript? загрузил себе и меняй. Прямо в браузере.

    Или ты не себе, а другому хочешь подложить Б() ?

  23. 4
    Микхаил Владимирович ответил:

    Сорри)) Прости я ток проснулся сложно было построить кто там кого)))

    Тогда почему не сделать ещё функцию, которая вызывает А, а потом Б?

  24. 3
    Александр Казанцев ответил:

    =))) хех, ну чой-то такое? )) Связи с А нету. То что ты написал не решает даже четверти моей проблемы! ^_^

  25. 2
    Микхаил Владимирович ответил:

    function Б() {
    onFunctionExecute();
    /* …код… */
    }

    function onFunctionExecute() {

    }

    вот тебе и оно, или я что-то не понимаю?)

  26. 1
    Александр Казанцев ответил:

    Почему не придумали метод onFunctionExecute() =))))))

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.