0

ストリームがロードされた後に正しい Facebook の likebox の高さを取得する方法はありますか?

私はこのようにしようとしていますが、うまくいきません。

window.fbAsyncInit = function() {
  FB.init({
    appId      : 'xxx', 
    status     : true,
    cookie     : true,
    oauth      : true,
    xfbml      : true

  });

  FB.Event.subscribe('auth.login', function(response) {
    window.location.reload();
  });
  console.log($('.fb_iframe_widget').height());
};

コンソールにnullが表示されます。

これは、ストリーム全体がロードされる前に fbAsyncInit が実行され、fb_iframe_widget 要素がないか、取得できないことを意味します。

ページロードを待ってコンソールに入力すると

console.log($('.fb_iframe_widget').height());

うまくいきました。ロードされた Facebook ボックスの高さを取得します。

お手伝いありがとう。

4

1 に答える 1

0

ここで答えを見つけましたhttps://stackoverflow.com/a/19295464/2930036

これを行う正しい方法は

FB.Event.subscribe("xfbml.render", function () {
  console.log($('.fb-page').height());
});

于 2015-03-26T10:39:12.173 に答える