相关疑难解决方法(0)

如何检测facebook的FB.init何时完成

旧的JS SDK有一个名为FB.ensureInit的函数.新的SDK似乎没有这样的功能......我怎样才能确保在完全启动之前我不进行api调用?

我把它包含在每个页面的顶部:

<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId  : '<?php echo $conf['fb']['appid']; ?>',
      status : true, // check login status
      cookie : true, // enable cookies to allow the server to access the session
      xfbml  : true  // parse XFBML
    });
    FB.Canvas.setAutoResize();
  };

  (function() {
    var e = document.createElement('script');
    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
    e.async = true;
    document.getElementById('fb-root').appendChild(e);
  }());
</script>
Run Code Online (Sandbox Code Playgroud)

javascript facebook

114
推荐指数
5
解决办法
12万
查看次数

为什么我们需要添加<div id ="fb-root"> </ div>

为什么我们需要在我们的Facebook应用程序中添加这些标签.这对标签的用途是什么.我创建了一个使用apprequest的应用程序,即使我没有在我的脚本前面添加这些标签,它也能正常工作.所以我真的很想知道为什么我们需要添加它们.谢谢.

javascript sdk facebook

62
推荐指数
2
解决办法
5万
查看次数

指定的版本无效,facebook共享插件错误

我想为我正在使用的网络应用程序使用facebook共享插件,我只需要基本的共享按钮.该应用程序使用requirejs来加载javascript,所以我按照操作方法将facebook api url更改为在facebook docs上的代码片段中找到的那个.这不起作用,并且sdk抛出错误invalid version specified.这就是我的文件的样子.

main.js

require.config({
  shim: {
    'facebookshare' : {
      exports: 'FB'
    }
  },
  paths: {
    'facebookshare':  "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.0"
 }
});
require(['fb']);
Run Code Online (Sandbox Code Playgroud)

fb.js

define(['facebookshare'], function(facebook) {
   document.body.innerHTML += '<div class="fb-share-button" data-href="https://developers.facebook.com/docs/plugins/" data-layout="button"></div>';
});
Run Code Online (Sandbox Code Playgroud)

仅包含facebook共享插件和requirejs的最佳方法是什么?

我提到了以下问题,但没有一个提供具体的解决方案.未捕获的错误:未指定版本版本错误.

javascript facebook requirejs facebook-javascript-sdk

48
推荐指数
3
解决办法
5万
查看次数