-6

我想在页面加载后立即触发 Facebook like 按钮。

这是使用 Facebook like 按钮所需的脚本:

<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
  FB.init({
    status : true, // check login status
    cookie : true, // enable cookies to allow the server to access the session
    xfbml  : true  // parse XFBML
  });
</script>

Facebook 喜欢按钮:

<fb:like href="http://ecommercedeveloper.com" layout="standard" show_faces="true" width="400" action="like" font="segoe ui" colorscheme="light" id="facebook" />

我的脚本,在页面底部:

<script>
  (function($){
    $('fb:like').trigger('click');
  })(jQuery);
</script>

不幸的是,当脚本运行时,似乎没有按下类似按钮。有没有办法非手动触发like按钮?

4

1 回答 1

11

你不能。单击<fb:like>元素没有任何效果,因为它只是一个容器。实际可点击的“喜欢”按钮加载在<iframe>其中。由于此 iframe 是从 加载的facebook.com因此同源策略会阻止您访问其内容(包括您想要的链接),除非您也在facebook.com.

如果此安全限制不存在,您将能够使用以下 jQuery:

$(".fb_ltr").contents().find(".connect_widget_like_button").click()

如果这是可能的,那将代表网络安全模型中的一个巨大缺陷。如果您找到某种方法来做到这一点,您会发现将漏洞利用程序出售给某些犯罪组织比使用它产生欺诈性“喜欢”更有利可图。

于 2012-07-17T02:53:37.183 回答