-6

ページが読み込まれるとすぐに、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>

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>

残念ながら、スクリプトを実行すると、いいねボタンが押されていないようです。いいねボタンを非手動でトリガーする方法はありますか?

4

1 に答える 1

11

できません。<fb:like>要素は単なるコンテナであるため、要素をクリックしても効果はありません。実際のクリック可能な「いいね」ボタンは、その<iframe>内部にロードされます。この iframe は から読み込まれるためfacebook.com同じオリジン ポリシーにより、 にもアクセスしていない限り、そのコンテンツ (必要なリンクを含む) にアクセスできなくなりますfacebook.com

このセキュリティ制限が存在しない場合は、次の jQuery を使用できます。

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

これが可能であれば、Web のセキュリティ モデルに重大な欠陥があることになります。なんらかの方法を見つけた場合、不正な「いいね」を生成するために使用するよりも、エクスプロイトを犯罪組織に販売する方が有益であることがわかります。

于 2012-07-17T02:53:37.183 に答える