在页面加载时触发类似Facebook的按钮

Dmi*_*iyd -6 javascript jquery facebook

我想在页面加载后立即触发类似Facebook的按钮.

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

<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>
Run Code Online (Sandbox Code Playgroud)

Facebook赞按钮:

<fb:like href="http://ecommercedeveloper.com" layout="standard" show_faces="true" width="400" action="like" font="segoe ui" colorscheme="light" id="facebook" />
Run Code Online (Sandbox Code Playgroud)

我的脚本位于页面底部:

<script>
  (function($){
    $('fb:like').trigger('click');
  })(jQuery);
</script>
Run Code Online (Sandbox Code Playgroud)

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

小智 11

你不能.单击<fb:like>元素没有任何效果,因为它只是一个容器.实际可点击的"喜欢"按钮被加载在<iframe>其中.因为加载了这个iframe facebook.com,所以相同的源策略会阻止您访问其内容(包括您想要的链接),除非您同时使用facebook.com.

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

$(".fb_ltr").contents().find(".connect_widget_like_button").click()
Run Code Online (Sandbox Code Playgroud)

如果这是可能的话,它将代表网络安全模型中的一个巨大缺陷.如果你找到某种方法,你会发现将漏洞利用出售给某个犯罪组织比利用它产生欺诈性的"喜欢"更有利可图.