JQuery динамически изменить meta теги, реально?
Метки: jquery, динамически, мета-теги
Очень забавная ситуация вышла. На сайте с динамическим контентом некорректно работали кнопки соцсетей. Думал дело было в meta-тегах.
Как оказалось, что на сайте с динамическим контентом надо немного по-другому подгружать кнопки, но про это в другой статье. До того, как я нашел решение проблемы, я все-таки научился динамически изменять meta-теги, такие как:
<meta property="og:title" content="Заголовок страницы для поста" /> <meta property="og:url" content="Ссылка на страницу для поста" /> <meta property="og:image" content="Ссылка на картинку для поста" /> <meta property="og:description" content="Описание для поста" />
В общем, эти property=”og:title”, property=”og:url”, property=”og:image”, property=”og:description” и другие, в трудных случаях верстки, при плохой оптимизации или большом мультимедийном объеме страницы, помогают социальной сети понять, чем именно Вы хотите поделиться.
Но, сейчас все больше сайтов подгружают контент динамически. А кнопки facebook like и вконтакте мне нравится создаются при загрузке страницы, при инициализации виджета..короче не всегда именно тогда, когда необходимо. Поэтому, может кому пригодиться, расскажу как изменить мета-тэг с помощью jQuery.
Все очень просто:
jQuery("meta[property='og:title']").attr('content','Тут название страницы'); jQuery("meta[name='keywords']").attr('content','тут кейворды');
Как видите, динамически менять мета-теги не так сложно. Надеюсь Вам это пригодиться, да и мне может тоже. Однако по поводу соцсетей..есть более простой вариант, – просто передавать не только ссылку на страницу для поста и заставлять соцсеть саму “рыться” в вашем коде и выуживать оттуда картинку, заголовок и текст..а передавать все данные для поста в соцсеть сразу, при нажатии на кнопку. Как это сделать напишу в другой статье.