Как сделать адаптивными комментарии Вконтакте

Недавно обнаружил, что на моих сайтах стоят неадаптивные виджеты. Как сделать так чтобы комментарии вконтакте растягивались по всему экрану?

Вконтакте комментарии занимают всю ширину экрана

Не знаю как сейчас, но раньше задавался определенный параметр, и оказывается что это была не максимальная ширина контейнера, а фиксированная.
Для того чтобы динамически менялась ширина комментариев, нам нужно вообще убрать эти параметры, и оставить лишь:

<script type="text/javascript">
VK.Widgets.Comments("vk_comments", {limit: 20, attach: "*"});
</script>

Какие только варианты не приходили в голову 🙂 . В том числе мерять ширину контейнера в котором они находятся и передавать в качестве переменных. Также, я думал, что можно задать некую maxWidth 🙂 – как видите, всё оказалось гораздо проще – убираем все параметры и вуаля.

Как вызвать свою функцию в виджете комментариев Вконтакте

И чтобы статья не казалась такой уж маленькой, давайте я вам сразу расскажу про вызов своей функции. Что самое смешное, в тех поддержке мне сказали что это невозможно 🙂 . Самый простой ответ наверное.
Итак:

<script type="text/javascript">
	VK.Widgets.Comments("vk_comments", {limit: 20, attach: "*",onChange:myFunc});
	function myFunc(num, last_comment, date, sign){
		$('#hidden').attr('value', num);
	}
</script>

Если я ничего не напутал, при добавление комментария у нас должно записываться их число в

<input type="hidden" id="hidden" value="">

И как всегда, это лишь пример, на самом деле всё ограничивается лишь вашей фантазией 🙂 .

Не забудьте проверить свои старые проекты и убедиться что ваши виджеты адаптированы под расширения мобильных устройств.

автор: Dmitriy

З 2011 року займаюся веб-розробкою. Зараз я – PHP Full Stack Developer.
Обговорити ваш проект, а також дізнатися більше про мене ви можете на цьому сайті:
dev.forwww.com

Email: dmitriyribka@gmail.com

2 коментаря

  1. Большое спасибо, Дмитрий!
    Испробовала все способы из инета. Оказалось, все просто!

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *