我已经从我的Tumblr主题中删除了所有以帖子为中心的标记,而是使用ajax来获取数据。到目前为止,一切顺利。现在我想为每个帖子添加一个"喜欢"按钮,但我似乎找不到任何关于如何做到这一点的文档(不诉诸他们的api,这需要oauth才能工作)。
有没有办法包括喜欢的按钮,当你使用ajax来获取的帖子,你宁愿不去完整的api与oauth?
Tumblr对单个帖子的"Like按钮"的新实现使用<iframe>
元素来运行。这个iframe的URL只能通过主题代码获得。
{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-&post_id=84814329251&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的正确页面(在主题中使用此代码)。
然后,您可以通过将Post ID与您使用AJAX获取的帖子匹配来解析该信息,并插入<ifame>
代码。
这是一个真正的迂回的解决方案,但它应该工作。