使用jQuery“ping”一个URL

时间:2012-04-20 12:25:39

标签: javascript jquery tumblr

此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一起使用?

1 个答案:

答案 0 :(得分:0)

由于安全原因,这是不可能的。

在您看到类似按钮的任何地方,它都是iframe,因为如果域,协议或端口不匹配,您无法通过JavaScript使用父页面访问iframe。

这是因为如果用户访问您的页面,您可以通过向每个页面发送ajax请求来强制他喜欢数百万页面。