Хуки в JS
Пожалуйста, поясните как использовать хуки в JS.
И чем отличаются:
ls.hook.marker
от
ls.hook.run
Вернее даже со вторым понятно, он запускает код, а первый под вопросом.
И чем отличаются:
ls.hook.marker
от
ls.hook.run
Вернее даже со вторым понятно, он запускает код, а первый под вопросом.
23 комментария
Запускает обработчик функцию на указанный хук.
Насчет сабжа я думаю это просто алиас из старых версий.
Что касается js, то вызов ничем не отличается от вызова обычного хука. Можно в поиске по сайт найти кучу инфы.
Вот пример из плагина shoutbox
init_actions — хук из php
template_content_begin — хук из шаблона. Как видно для прикрепления к шаблоновым хукам нужно добавлять template.
пример js хука github.com/livestreet/livestreet/blob/master/templates/skin/synio/js/template.js#L178
Вот нужно мне, например, встрять в ф-ю ls.blog.toggleJoin(), причем, как перед ajax-запросом, так и после. И вижу, что перед запросом идет маркер:
а после — хук:
Это значит, что я фактически для одного действия должен два разных обработчика оформлять — один — в виде инжектора, а другой — в виде хука. И форматы вызова разные, принцип именования точек вызова. Зачем? Почему нельзя было что-то одно оставить?
И я у себя где-то пишу:
То, в итоге, получу такой исполняемый код:
Так?
Вот то ли я совсем туп, то ли поиск по сайту хреновый, то ли еще чо. Но я помню, что был топик, где про js-хуки говорилось. А щас ни хрена поиск не дает.
Кто-то может харей меня конкретно ткнуть, где про это написано?
livestreet.ru/blog/9417.html
С хуком:
Понятно, что вызывается функция, привязанная к хуку, ей передаеются параметры, а thisArg — это что?
С маркером:
Понятно, что вторым параметром идет код, который должен выполняться. А первым — что за массив? Для чего он?
livestreet.ru/blog/12333.html
Хочу js хуком перехватить момент когда все комментарии отрисовались полностью.
«Захучид»:
— ls_comments_add_after (понадобится в будущем),
— ls_comment_inject_after (понадобится в будущем),
— ls_comments_load_after (думал здесь но не пошло),
— ls_comments_drawcomplete (попробовал сделать свой хук, который вызывается в собственном шаблоне comment_tree.tpl после последнего div-а с коментами, тоже не работает).
Подскажите в какую сторону копать