Кнопка сохранить ВКонтакте и xhtml

VKontakte предоставляет удобный инструмент, чтобы делиться ссылками с друзьями. Документация предельно проста. На одном сайте столкнулся с тем, что кнопка "Сохранить ВКонтакте" не работает.. При том, что тот же код отлично работал на других сайтах.

После раскопок оказалось, что документ XHTML(MIME type application/xhtml+xml) не понимает document.write. Это нормальное поведение по стандарту. Не баг, но фича 🙂 . Пришлось искать обходной путь. От document.write пришлось отказаться, заменив на innerHTML.

innerHTML тоже не в стандарте, но если спрятать конструкцию в /* <![CDATA[ */, то броузеры ее понимают и обрабатывают правильно.

Окончательный вариант, работающий в XHTML и при этом валидный выглядит так.


А как сделать чтобы еа странице Vkontakte, отобразилась нужная картинка с вашего сайта(превью)?

Для этого есть несколько вариантов:

Во-первых Vkontakte сам пытается найти картинку. Для этого он просматривает первые 8 картинок с шириной или высотой более 100 px. Метод очень ненадежный.

Вариант 2. Указать специальный тег в head страницы

Вариант 3. Указать в джаваскрипте параметр image

Разумеется картинка должна быть валидной, путь должен быть указан абсолютный.

You may also like...