我已经看到两个网站在野外设置通过黑客攻击主页上的Like和Reblog按钮。
这似乎是最好的参考:http://cicerontheme.tumblr.com/
不知何故,他们设法获取reblog网址,我不知道如何。我一直在搜索他们的代码,而我发现的就是这样的按钮:
$('a.likeLink').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);
});
有人在this Stack overflow discussion进行了一些讨论,但是再一次,没有达到问题的关键,如何获得reblog网址。
我已经浏览了脚本资源,并没有找到任何个人脚本,只是来自tumblr的脚本,我的chrome扩展等等。他们从哪里获取它?!
在上面粘贴的“喜欢”代码中,他们很容易获得帖子ID,你只需要使用Tumblrs {Permalink},但是reblog网址是从rel属性获取的。
希望有人可以提供帮助!
感谢。
答案 0 :(得分:4)
查看源代码:http://cicerontheme.tumblr.com/
1. $('a.likeLink').click(function() {
2. var post = $(this).closest('.post');
3. var id = post.attr('id');
4. var oath = post.attr('rel').slice(-8);
5. var like = 'http://www.tumblr.com/like/'+oath+'?id='+id;
6. $('#likeit').attr('src', like);
7. });
代码说明:
likeLink
.closest
方法查找与类post
最接近的元素(实际上,它是一个锚点,请参阅源代码)ID
属性中获取十位数的tumblr ID(使用.attr('id')
rel
属性,并使用.slice(-8)
获取最后8个字符src
的{{1}}的{{1}}属性(请参阅来源)。这会导致<iframe>
的请求。 哈克? 答案 1 :(得分:3)
非常确定这不是JS的事情 - 当你查看你链接的网站的来源时,reblog链接已经存在(意思是,它们没有被动态插入)。
我认为Ciceron主题实际上是在生成reblog链接 - 你试过添加:
<a href="{ReblogURL}">Reblog</a>
...到你的主题?
答案 2 :(得分:1)
在你的tumblr仪表板上,每个帖子都有一个'reblog'图标。当然,如果你点击这个,该帖子的reblog网址将出现在地址栏中?当然,这意味着为每个帖子手动添加网址,但这是我找到的默认tumblr控件的唯一选择。
'关注'和'仪表板'是bref标准的href命令,但我仍在寻找一种方法来为'like'功能提供一个简单的文本链接,这样我就可以完全取消默认控件
答案 3 :(得分:1)
“reblog key”的使用由Tumblr批准,并且在某些开发人员的情况下受到鼓励,就像你提到的那样。
Tumblr有一个 API 和内部主题开发选项来使用 reblog键。这是一个巧妙的技巧,但要清楚它是不是黑客,因为Tumblr确实打算,鼓励并希望使用这个工具并且对每个人都有帮助。
请参阅“reblog key”后期使用上的特定API文章: https://www.tumblr.com/docs/en/api/v2#reblogging
当您使用Tumblr API以编程方式发布到Tumblr博客时,您将收到“reblog key”的回复。您可以创建一个脚本,该脚本可以显示您自己的tumblr帖子的 reblog网址,而不是可以创建新帖子的共享按钮。这可以帮助您将tumblr本地化到您自己的源,并为SEO发送更好的“Canonical Link”功能。
在Tumblr内部的主题中,您可以使用 {ReblogURL}来显示reblog网址,或者创建一个类似按钮。
有很多方法可以正确使用它,但也有很多方法不允许,即使它很容易或很明显你可以“做” 。最重要的是,对其他用户要好,不做其他用户不喜欢的事情(隐藏点击等)。
您可以在此处了解Tumblr服务条款: https://www.tumblr.com/policy/en/terms-of-service
我提到了API,它有自己的一小部分规则,它在服务条款中链接。您可以阅读 Tumblr Application Developer和API许可协议: https://www.tumblr.com/docs/api_agreement