我从Tumblr主题中删除了所有以帖子为中心的标记,而是使用ajax来获取数据。到现在为止还挺好。现在我想为每个帖子添加一个类似的按钮,但我似乎找不到任何关于如何执行此操作的文档(不需要使用他们需要oauth工作的api)。
当你使用ajax来获取帖子时你是否没有办法包括类似的按钮而你宁愿不用oauth去完整的fledge api?
答案 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-&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的正确页面(主题中包含此代码)。
然后,您可以通过将帖子ID与您使用AJAX提取的帖子相匹配来解析此信息,并插入<ifame>
代码。
这是一个真正的四舍五入解决方案,但它应该有效。