【发布时间】:2012-04-25 09:57:21
【问题描述】:
编辑,2013 年 4 月:不再需要旧代码。改用 Tumblr 的“喜欢”和“转发”按钮的新短代码!
http://developers.tumblr.com/post/49193689915/attn-fantastic-theme-developers-tumblr-users-can
旧代码:
我正在使用@ThinkingStiff 的代码 (https://stackoverflow.com/a/9048446/351320)。
下面是实际示例:http://themelab01.tumblr.com/
我的html代码:
{block:Posts}
{block:Text}
<li id="{PostID}" class="post text">
{block:Title}
<h3><a href="{Permalink}">{Title}</a></h3>
{/block:Title}
{Body}
</li>
<a href="{ReblogURL}" class="reblog">reblog</a>
<a href="#" class="like">like</a>
{/block:Text}
css
#like-it {
display: none;
}
.liked, .like:hover {
color: red !important;
}
js
$(document).on('click', '.like', function (event) {
event.preventDefault();
var command = $(this).hasClass('liked') ? 'unlike' : 'like',
post = $(this).closest('.post'),
oauth = post.find('.reblog').attr('href').slice(-8),
id = post.attr('id'),
likeUrl = 'http://www.tumblr.com/' + command + '/' + oauth + '?id=' + id;
$('#like-it').attr('src', likeUrl);
$(this).toggleClass('liked');
});
空的 iframe 位于页面底部。然而,这是行不通的。当我点击“喜欢”时,我的仪表板中喜欢的帖子数量会增加(其中显示“点赞 n.帖子”),但帖子不会出现在“喜欢”页面中,文本应该保持红色,但不会。什么是我失踪了?
【问题讨论】:
-
我在下面发布了更新的代码。在上面的示例中,
{block:Text}中有{PostID}。这意味着它不会在其他帖子类型上可见,例如图片。另外,我没有看到like-it<iframe>,所以这也可能是问题所在。不过,最简单的解决方案是使用我的新代码。
标签: javascript tumblr