2015-08-28 4 views
3

У меня есть страница с несколькими абзацами, когда пользователь нажимает кнопку «моментальный снимок» рядом с абзацем, этот абзац воспроизводится на холсте как изображение и отображается над исходным абзацем.Изменение метатегов динамически с помощью jQuery

Рядом с моментальным снимком параграфы - это кнопка «общего доступа», как изменить URL-адрес следующего содержимого метатега на URL-адрес фрагмента моментального снимка при нажатии кнопки «общий доступ».

кнопку доля

<a href="#" id="share">Share?</a> 

ПЕРЕД ДОЛЯ КНОПКА CLICK

<meta name="twitter:image" content="p.jpg"> 

ПОСЛЕ ДОЛЯ КНОПКА CLICK

<meta name="twitter:image" content="image/paragraphxi34343.jpg"> 

Любые решения?

+1

Если ситуация не изменится, так как я уже в прошлом занимался этим (несколько лет назад) изменения, которые динамически не повлияет, потому что facebook будет запросить страницу отдельно, таким образом, получая исходное значение, а не тот, который вы изменить это к. Надеюсь, я ошибаюсь, поскольку это означает, что у спа-сайтов будет реальная проблема с кнопками обмена. –

+0

Эй, Кевин, а как насчет Twitter? –

+1

Не уверен, никогда не смущался. Тестирование было бы легко, измените тег через консоль браузера и попробуйте. –

ответ

1

Не уверен, что это оптимизированный способ сделать это, но это должно сработать.

$("meta").each(function() { 

    if($(this).attr("name") == "twitter:image") { 
    $(this).attr("content" , "image/paragraphxi34343.jpg"); 
    }; 
}); 

Более общий способ будет

function changeMetaContent(metaName, newMetaContent) { 
    $("meta").each(function() { 

     if($(this).attr("name") == metaName) { 
     $(this).attr("content" , newMetaContent); 
     }; 
    }); 
} 

Вызов как

changeMetaContent("twitter:image", "image/paragraphxi34343.jpg"); 

Обновлено после обсуждения в комментариях

Если у вас есть URL-адрес в поле ввода делать это.

<input value="http://some-image-url.png" type="hidden" id="image-url-input" /> 

Вызовите функцию следующим образом;

var imageURL = $("image-url-input").val(); 
changeMetaContent("twitter:image", imageURL); 
+0

Эй, Киранвь, проблема в том, что несколько абзацев являются динамическими, и любой из них может быть выбран так, как мы можем вместо этого получить текущий URL-адрес выбранного абзаца/«моментального снимка»? –

+0

У вас нет URL-адреса изображения, у вас есть только данные необработанного изображения в холсте. Если вам нужен URL-адрес, вам нужно отправить эти данные необработанного изображения с холста на свой сервер и сохранить его как изображение с некоторым именем файла, тогда только вы можете получить URL-адрес изображения. – kiranvj

+1

Спасибо bae <333 –

Смежные вопросы