主页上的Tumblr“like-heart-button”脚本

时间:2011-08-07 01:35:42

标签: tumblr social-media-like

如何在不进行永久链接页面的情况下为每个帖子制作一个“赞”按钮?我的意思是,即使在主页上,我可以使用哪个脚本在this页面上找到类似心脏的内容? (鼠标悬停在照片上,有一颗心喜欢这个帖子)

2 个答案:

答案 0 :(得分:3)

我在http://like-button.tumblr.com创建了一个关于此的教程。它消除了人们实现这一点时遇到的问题,并使其简单剪切和粘贴。

要添加Like功能,请使用以下网址并将其设置为不可见src的{​​{1}}属性:

<iframe>
  • http://www.tumblr.com/<command>/<oauthId>?id=<postId> <command>like
  • unlike<oauthId>
  • 的最后八个字符
  • {ReblogURL}<postId>

示例:

{PostID}

http://www.tumblr.com/like/fGKvAJgQ?id=16664837215 之前,将以下代码块剪切并粘贴到您的主题中。这将在每个帖子上给你一个Like按钮,看起来像默认的Tumblr灰色心脏。当您将鼠标悬停在它上面并单击它时,它将变为红色。如果再次单击它,它将再次变为灰色并删除Like。

代码:

</head>

然后将以下按钮代码剪切并粘贴到您想要类似按钮的主题中(这必须位于<style> .my-like { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAARCAYAAAA/mJfHAAABH0lEQVQ4y62T30vCUBiGv/9YuhBLkCA08FdogRFFYFEUhhZNCCQoSESiIOii68pl5qV6s8Eb7+SMHXNs6S7ejZ3zvA+ccT4BICofvS88dJ7w8vqG8WQC754K17lPjrx3z3l8D4YoVaqIrWbcJNbzaHefNZjfXPdy5b0jsO/IRqMxUpmSBnhz2bx1QL79GPbpEePmzhdSyW8fBDL0SK68HwiGCT2S3NiKREaPzP7QRRNPZSHpwm4kMnqkYbQikdEjZv8HK2ubS4nY75mD6WU8qzeXkrHvToBlWSjuHC4kYo99V8bwBnM0/iMiz542myq2bSPskcmR/zPos7lvP8Lv/nGd+/N6c2Xq2KcXhiY6qV1rxwotU3n/NHF8fgW+g9hfsHJlJUYljcgAAAAASUVORK5CYII=) !important; height:17px; width:19px; cursor:pointer; display:inline-block; vertical-align:top; } .my-liked, .my-like:hover { background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAARCAYAAAA/mJfHAAABSklEQVQ4y2P4//8/Awy/O3fu/905c/4/2779/69Pn/4jy8Hwz/fv/z/buvX/vfnz/7+/eBFFDZj4cOXK/8O+Pv+36+rA8W4zs/8Ply1DUXx/4cL/u0yMUdQdCQ76/+nWLbA6hq+PH//fbW6OogAZ3+zvByu81t6OU80ea6v/P16//s9wqboKpyIYPhYeTlDN1abG/wz7HR0JKiQGH3Bz+8+ww0CfKobtMjb6z0ANg+CGgQKPKt50dfnPcL6wkCqGXaoo/8/w5tgxyg3T0wUnYHBiPJuZSZFhF8pK/8NzACjrgKKWHINAOef3168Iw0D429OnGFmKEAZlJVDKR8mbMAyy4XRqClEGnc3J+f/nxw/MjI6OQflxh6EBzvR0Z9o0rCUKVsNA+MuD+/9PJiSgGHQmPf0/KDhw6cFpGAy/OnAAbOibEyf+E1ILAFBjDrchm7KrAAAAAElFTkSuQmCC) !important; height:17px; width:19px; cursor:pointer; display:inline-block; vertical-align:top; } </style> <script> window.onload = function () { document.body.insertAdjacentHTML( 'beforeEnd', '<iframe id="my-like-frame" style="display:none;"></iframe>' ); document.addEventListener( 'click', function ( event ) { var myLike = event.target; if( myLike.className.indexOf( 'my-like' ) > -1 ) { var frame = document.getElementById( 'my-like-frame' ), liked = ( myLike.className == 'my-liked' ), command = liked ? 'unlike' : 'like', reblog = myLike.getAttribute( 'data-reblog' ), id = myLike.getAttribute( 'data-id' ), oauth = reblog.slice( -8 ); frame.src = 'http://www.tumblr.com/' + command + '/' + oauth + '?id=' + id; liked ? myLike.className = 'my-like' : myLike.className = 'my-liked'; }; }, false ); }; </script> 块内)。

代码:

{block:Posts}

答案 1 :(得分:0)

从页面中,他们使用的是javascript:

$('a.like-link').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);
}

所以post只是帖子的HTML元素,然后他们只需获得该帖子的id以及喜欢或重新登录帖子所需的8个字符代码。他们接受了所有这些,将其放入网址并将其设置为页面上iFrame的来源(#likeit