Seo Форум

Форум по программированию => Программирование => Javascript и Ajax => Тема начата: Chiliec от 04-01-2011, 11:07:27

Название: Получение количества комментариев из виджета контакта
Отправлено: Chiliec от 04-01-2011, 11:07:27
Возникла необходимость извлечь количество комментариев из виджета комментариев вконтакте (http://vkontakte.ru/developers.php?o=-1&p=Comments). Сам виджет выглядит так:
<script type="text/javascript">
VK.Widgets.Comments("vk_comments", {limit: 10, width: "496", onChange: CommentsNum});
</script>
, где onChange: CommentsNum - коллбек-функция, вызываемая при публикации или удалении комментария первого уровня и передающая 4 параметра новой функции CommentsNum:CommentsNum (num, last_comment, date, sign) {} Теперь основная проблема состоит в том, чтобы вывести в строку параметр num т.е количество комментариев. <script type="text/javascript">
function CommentsNum(num) {
document.write(num);
}
</script>
, полностью перезагружает страницу и выдает только количество комментариев.

(Блин, пока писал понял что все равно это работать не будет т.к эта функция срабатывает только при добавлении или удалении комментария, а мне она нужна сразу при загрузке страницы.  :( )

У кого-нибудь есть мысли по этому поводу? ;)
Название: Re: Получение количества комментариев из виджета контакта
Отправлено: Sevab от 04-01-2011, 12:17:50
Chiliec, я не ставил этот виджет.
А можете привести полностью яваскрип, который подгружается на страницу, а также пример страницы где он установлен.
Попробуем разобраться  ::).
Название: Re: Получение количества комментариев из виджета контакта
Отправлено: Chiliec от 04-01-2011, 14:50:48
Вся информация по виджету есть по ссылке в первом посте. Полный код виджета который дает контакт:
<!-- Put this script tag to the <head> of your page -->
<script type="text/javascript" src="http://userapi.com/js/api/openapi.js?20"></script>

<script type="text/javascript">
  VK.init({apiId: 1965727, onlyWidgets: true});
</script>

<!-- Put this div tag to the place, where the Comments block will be -->
<div id="vk_comments"></div>
<script type="text/javascript">
VK.Widgets.Comments("vk_comments", {limit: 10, width: "496", attach: "*"});
</script>
А это как они утверждают полная документация по виджету (http://vkontakte.ru/developers.php?o=-1&p=%C4%EE%EA%F3%EC%E5%ED%F2%E0%F6%E8%FF+%EE+%E2%E8%E4%E6%E5%F2%E5+%EA%EE%EC%EC%E5%ED%F2%E0%F0%E8%E5%E2).
Пример страницы (http://pgsha.info/privet-mir/) в установленным виджетом, вторая вкладочка.
[mergedate]1294137764[/mergedate]
Цитата: Chiliec от 04-01-2011, 11:07:27
(Блин, пока писал понял что все равно это работать не будет т.к эта функция срабатывает только при добавлении или удалении комментария, а мне она нужна сразу при загрузке страницы.  :( )
Я так понимаю единственным решением может быть запись количества комментариев в базу данных WP  с привязкой их к ID записи. Но что-то мне кажется это слишком сложным для получения какого-то там идиотского числа комментариев так что наверное откажусь от этой идеи (или вообще от использования этого виджета :D).

Хотя, по-любому можно получить это количество каким-нибудь запросом через API или еще как-нибудь, но я понять не могу как это сделать :(
Название: Re: Получение количества комментариев из виджета контакта
Отправлено: Adel Invest от 30-05-2012, 23:27:36
Я как то мудохался, но хотел, чтобы подсчитывалось количество комментов с фейсбука и вконтакте. Запарился ну и решил пока отложить