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

Aji*_*kya 48 javascript facebook requirejs facebook-javascript-sdk

我想为我正在使用的网络应用程序使用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的最佳方法是什么?

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

Sim*_*ast 98

即使使用Facebook提供的标准嵌入代码,我也会收到以下错误.

未捕获错误: sdk.js中指定的版本无效

要检查的第一件事是您在FB.init通话中包含版本号:

FB.init({
  appId: 'your-app-id',
  xfbml: true,
  version: 'v2.8'
});
Run Code Online (Sandbox Code Playgroud)

现在过时的修复......

...是做一个简单的调整并改变了路径:

From:   //connect.facebook.net/en_GB/sdk.js  
To:     //connect.facebook.net/en_GB/all.js
Run Code Online (Sandbox Code Playgroud)

这解决了错误.不幸的是我不明白为什么.:-(

  • 你必须指定版本,sdk.js是新的API所以:FB.init({appId:'xxxxxxxxxxxxxxxxxx',版本:'v2.5' (6认同)

mec*_*ous 59

考虑versionsrc属性中包含一个参数,如下所示:

js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.8"
Run Code Online (Sandbox Code Playgroud)

WebLike按钮的默认模板不完整; 点击"获取代码"按钮后,Facebook将为您生成一个version包含参数的完整模板.


Dav*_*oli 6

小小的抬头,我不得不改变

js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&amp;version=v2.8";

js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.8";