Встроенная кнопка Tumblr на главной странице - PullRequest
1 голос
/ 27 ноября 2011

Я пытаюсь получить встроенную кнопку «Мне нравится» для каждого поста на главной странице блогов Tumblr, например, похожую на http://cicerontheme.tumblr.com/.

Я следовал советам по Tumblr - получаю 8цифровой код реблога на домашней странице (почти там ...) , и включил его в мой код.

$('a.likeLink').click(function() {
    var post = $(this).closest('.post');
    var id = post.attr('id');
    var oath = post.attr('rel').slice(-8);
    var like = 'http://www.tumblr.com/like/'+oath+'?id='+id;
    $('#likeit').attr('src', like);
});

Я использовал {PostID} и {ReblogURL}, которые являются переменными тегамиTumblr, для значений атрибутов id и rel, для класса «post» HTML-тега соответственно.Я также включил iframe likeit для отправки запроса на http://www.tumblr.com/like/....

Теперь я не уверен, какому HTML-тегу принадлежат эти атрибуты, поэтому я просмотрел источник Ciceron и заметил, чтоони включены в тег div, обертывающий содержимое публикации, и теги a для кнопок like и reblog.Я пытался следовать, но это не сработало.

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

Я буду очень рад, если кто-нибудь, кто заставил его работать, поможет мне заставить его работать.Спасибо.

Ответы [ 2 ]

1 голос
/ 29 января 2012

ОБНОВЛЕНИЕ: у меня есть подробные инструкции по адресу: http://like -button.tumblr.com . Я избавился от необходимости извлекать идентификатор из поста и вместо этого помещать его в саму ссылку. Я сделал весь процесс вырезать и вставить.

Вам нужно поместить атрибут rel в почтовую оболочку, чем класс post. Вот что ее линия:

var post = $(this).closest('.post');

делает. Так должно выглядеть:

<div id="{PostID}" rel="{ReblogURL}" class="post">
    <!-- post goes here -->
</div>
0 голосов
/ 27 ноября 2011

Попробуйте изменить это:

 $('#likeit').attr('src', like);

до:

 $(this).attr('src', like);

и для проверки правильности подобной ссылки, вы можете сделать:

 alert(like);

или если у вас есть firebug или chrome, сделайте:

 console.debug(like);
...