Tumblr喜欢带ajax的按钮获取帖子

时间:2014-05-04 16:47:30

标签: ajax tumblr social-media-like

我从Tumblr主题中删除了所有以帖子为中心的标记,而是使用ajax来获取数据。到现在为止还挺好。现在我想为每个帖子添加一个类似的按钮,但我似乎找不到任何关于如何执行此操作的文档(不需要使用他们需要oauth工作的api)。

当你使用ajax来获取帖子时你是否没有办法包括类似的按钮而你宁愿不用oauth去完整的fledge api?

1 个答案:

答案 0 :(得分:0)

Tumblr针对各个帖子的“赞按钮”的新实现使用<iframe>元素来运行。此iframe的网址只能通过您的主题代码获得。

例如:

{Block:Posts}

    <div class="like-button">{LikeButton}{/div>

{/Block:Posts}

{LikeButton}呈现的内容将如下所示:

<iframe id="like_iframe_84714330251" src="http://assets.tumblr.com/assets/html/like_iframe.html?_v=fa292ab73ee80893ffdf1edfabaa185a#name=blog-name-&amp;post_id=84814329251&amp;rk=reKNyFfj" scrolling="no" width="20" height="20" frameborder="0" class="like_toggle" allowtransparency="true"></iframe>

如果没有在{LikeButton}

中包含{Block:Posts},似乎无法获得此功能

对于使用ajax,可以在页面上包含一个隐藏元素,用于加载此信息,并在使用ajax加载每个帖子页面时将其解析出来。

因此,如果您的主题中包含以下内容:

<div id="posts-info" style="display: none;">
{Block:Posts}

    <div class="post-info" data-postid="{PostID}">{LikeButton}</div>

{/Block:Posts}
</div>

使用AJAX加载帖子时,您还必须加载Tumblr的正确页面(主题中包含此代码)。

然后,您可以通过将帖子ID与您使用AJAX提取的帖子相匹配来解析此信息,并插入<ifame>代码。

这是一个真正的四舍五入解决方案,但它应该有效。