Что такое vk observer

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Switch branches/tags
Branches Tags
Could not load branches
Nothing to show
Could not load tags

Nothing to show

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Cancel Create

  • Local
  • Codespaces

HTTPS GitHub CLI
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more about the CLI.

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

JavaScript Паттерны #21 — Observer (Наблюдатель)

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Источник: github.com

glebcha / vk-observer Goto Github PK

Простое расширение для загрузки музыки из социальной сети Вконтакте (vk.com). Добавляет кнопку загрузки для каждой музыкальной записи в любом месте (стена, плеер и т.д.). Никакой рекламы, никаких трекеров и шпионов, открытый исходный код.

Расширение было удалено из Chrome webstore ввиду жалоб ВК.

Еще по теме:  Программы для спама vk

Неистово приветствуются предложения и code review.

Я буду рад, если позаимствовав весь код или его часть, ты придешь к успеху не став мудаком.

В текущей версии:

  • загрузка видео с именем файла как в интерфейсе Вконтакте
  • определение аудиозаписей, удаленных по просьбе правообладателя
  • загрузка аудиозаписей по клику на иконку загрузки в любом блоке и на любой странице
  • добавляет кнопку загрузки для каждой музыкальной записи в любом месте (стена, плеер и т.д.)
  • загрузка всех аудиозаписей для каждого поста по нажатию на кнопку «Загрузить все»
  • отображение размера файла и битрейта по наведению на аудиозапись
  • добавляет кнопки для загрузки видео с индикацией качества (только для видео, размещенного на серверах Вконтакте, не работает со сторонними видео-сервисами как YouTube и прочими)
  • поддерживается скробблинг и добавление в любимые треки для Last.fm
  • еще больше Last.fm

Источник: coder.social

VK Observer — Какой виджет был нажат?

Есть страница с большим количеством VK-виджетов «Мне нравится». У каждого виджета свой «page_id» и «page_url». Их код выглядит так:

OBSERVER | Сюжет НЕ_Вкратце


VK.Widgets.Like(«vk_like_1», , ‘like_widget_id_1’);

VK API предоставляет так называемый VK Observer для отслеживания действий с виджетом. Конкретно перехватить событие лайка нужно так:

VK.Observer.subscribe(«widgets.like.liked», function f() < alert (‘Я лайкнул’); >);

Работает. Только у меня кнопок «Мне нравится» около десятка на странице. Каким образом можно узнать, с помощью какого виджета был поставлен лайк. Ну или как-то узнать хотя бы id блока где был поставлен лайк.

Отслеживать
задан 12 дек 2016 в 8:52
231 1 1 серебряный знак 5 5 бронзовых знаков

Может так: VK.Observer.subscribe(«widgets.like.liked», function f() < alert ($(this).attr(‘id’)); >); ? Было бы легче, если бы вы показали полный код кнопки лайка

Еще по теме:  ЖК вариант ленсоветовский Вконтакте

12 дек 2016 в 9:36
К сожалению, такой способ не сработал. Вывел undefined. Да собственно это и есть полный код кнопки.
12 дек 2016 в 9:50

CMTV, а если просто взять и отследить на какой элемент был произведён клик? Если нужно, могу добавить в ответ, как отследить

12 дек 2016 в 9:56
12 дек 2016 в 10:00

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

Несмотря на то, что на запрос ВКонтакте мне ответили отрицательно:

Здравствуйте, Пётр!

Простите за долгое ожидание.

К сожалению, на данный момент реализацию Вашей идеи никак не осуществить. Разработчики пообещали сделать, чтобы обсервер принимал параметр page_id.

Команда ВК.

Но я нашел способ. На данный момент — 18.02.2017 — VK Observer при событии лайка возвращает не один (как указано в документации), два параметра: likes_num и vk_widget_num .

VK.Observer.subscribe(«widgets.like.liked», function f(likes_num,vk_widget_num) < /* . */ >);

Первый параметр likes_num содержит количество лайков у текущего виджета. Все как положено.

Второй параметр vk_widget_num содержит число уже загруженных виджетов на странице (виджет «Мне нравится», «Комментарии», «Это интересно» и т.д.). Другими словами VK вторым параметром передает вам какой по счету (начиная с 1) этот виджет будет на странице.

===== Решение задачи

Для начала добавим дополнительный атрибут к HTML тегам:

VK.Widgets.Like(«widget_1», , 1); VK.Widgets.Like(«widget_2», , 2);

Теперь регистрируем наш обработчик события widgets.like.liked :

VK.Observer.subscribe(«widgets.like.liked», function f(likes_num,vk_widget_num) < var widget_id = $(‘.like_widget[data-widget-number=’ + vk_widget_num + ‘]’).attr(‘id’); alert («Вы лайкнули! Был нажат виджет с ID: » + widget_id + «. Количество лайков: » + likes_num); >);

Источник: ru.stackoverflow.com

Рейтинг
( Пока оценок нет )
Загрузка ...