Сообщение # 1 | 05:37:44
Здравствуйте! Я в JS полный ноль, прошу помочь экспертов, честно сам пытался разобраться, наверно придётся переписывать код. Не знаю как.

Это стандартный виджет комментариев вконтакте

Код


<!-- Put this script tag to the <head> of your page -->
<script type="text/javascript" src="//vk.com/js/api/openapi.js?126"></script>

<script type="text/javascript">
VK.init({apiId: 123});
</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", {norealtime: 0, autoPublish: 0, redesign: 1, limit: 15, width: "", attach: "*"});
</script>



Два js которые выводят количество комментариев.

Код



/* Количество комментариев виджет VK */

VK.Api.call('widgets.getComments',
{widget_api_id: "123", url: document.URL},
function(obj) {
document.getElementById('vk_count').innerHTML = '(' + obj.response.count + ')';
});
/* ------- */



есть ещё такой, он в последней строчке немного другой

Код


VK.Api.call('widgets.getComments',
{widget_api_id: "1234567", url: document.URL},
function(obj) {
document.getElementById('vk_count').innerHTML = 'всего:' + obj.response.count;
});



Этот код выводит количество комментариев виджета вконтакте через блок div c id:

Код
<div id="vk_count"></div>


Код полностью работает и первый и второй. Проверял на отдельно созданной странице html.

Проблема в том что, на самом сайте код js не работает или работает частично.

Чтобы отображалось количество нужно использовать два кода, один в футоре, другой в конци странице под виджитом комментариев.Если перейти на страницу по ссылке, то js не отображает количество, если обновить то отображает. На других страницах сайта может вообще никак не работает.

В Службе поддержке вк ответили так

Похоже, код выполняется до того, как появляется нужный для вставки числа элемент. Так что нужно как-то отсрочить выполнение кода этого скрипта, тогда всё будет работать. ( ставил js в разные места, не помогло)

В Ucoz

Жду ответа.

P.S.

понимаю что написал полный лес и ошибка наверно в Ucoz системно. Есть ли другие варианты этого скрипта?

Код



/* Количество комментариев виджет VK */

VK.Api.call('widgets.getComments',
{widget_api_id: "123", url: document.URL},
function(obj) {
document.getElementById('vk_count').innerHTML = '(' + obj.response.count + ')';
});
/* ------- */