此jQuery script one会创建一个www.tumblr.com/like/fGKvAJgQ?id=16664837215
之类的网址,然后使用iframe
发送' like'使用上述URL到Tumblr的服务器。
$(document).on('click', '.like', function (event) {
event.preventDefault();
var command = $(this).hasClass('liked') ? 'unlike' : 'like',
post = $(this).closest('.post'),
oauth = post.find('.reblog').attr('href').slice(-8),
id = post.attr('id'),
likeUrl = 'http://www.tumblr.com/' + command + '/' + oauth + '?id=' + id;
$('#like-it').attr('src', likeUrl);
$(this).toggleClass('liked');
});
在HTML中使用:
<article id="{PostID}">
<a href="{ReblogURL}" class="reblog">reblog</a>
<a href="#" class="like">like</a>
</article>
<iframe id="like-it"></iframe>
有没有办法将此信息发送给Tumblr,而不是将iframe与jQuery一起使用?
答案 0 :(得分:0)
由于安全原因,这是不可能的。
在您看到类似按钮的任何地方,它都是iframe,因为如果域,协议或端口不匹配,您无法通过JavaScript使用父页面访问iframe。
这是因为如果用户访问您的页面,您可以通过向每个页面发送ajax请求来强制他喜欢数百万页面。