检测facebook页面插件是否加载

问题描述 投票:0回答:2

我需要知道Facebook页面插件何时加载,因为有时需要花费很多时间,并且会留下空白。

我已经按照 facebook 所说嵌入了页面插件

<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/es_LA/sdk.js#xfbml=1&version=v2.4&appId=XXXXXXX";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

然后作为 facebook 的示例

<div class="fb-page" data-href="https://www.facebook.com/facebook" data-small-header="false" data-adapt-container-width="true" data-hide-cover="false" data-show-facepile="true" data-show-posts="true"><div class="fb-xfbml-parse-ignore"><blockquote cite="https://www.facebook.com/facebook"><a href="https://www.facebook.com/facebook">Facebook</a></blockquote></div></div>

它工作正常,但我需要知道它何时加载,这样我才可以显示它。


更新

很多天后,我只是隐藏该框并在 1 分钟后显示它,但有时它仍然无法加载页面。有什么想法吗?

谢谢!

jquery facebook onload
2个回答
4
投票

使用此代码:

window.onload = function() {
    FB.Event.subscribe('xfbml.render', function(response) {
        console.log('rendered.... finally!');
    });
};

0
投票

函数 isFbMessengerLoaded() { 返回 typeof FB !== '未定义' && typeof FB.XFBML !== '未定义' && typeof FB.XFBML.parse !== '未定义'; }

© www.soinside.com 2019 - 2024. All rights reserved.