我想为我正在使用的网络应用程序使用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']);
fb.js
define(['facebookshare'], function(facebook) { document.body.innerHTML += ''; });
仅包含facebook共享插件和requirejs的最佳方法是什么?
我提到了以下问题,但没有一个提供具体的解决方案.未捕获的错误:未指定版本且版本错误.
考虑version
在src
属性中包含一个参数,如下所示:
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.8"
Web上Like按钮的默认模板不完整; 点击"获取代码"按钮后,Facebook将为您生成一个version
包含参数的完整模板.
即使使用Facebook提供的标准嵌入代码,我也会收到以下错误.
未捕获错误: sdk.js中指定的版本无效
要检查的第一件事是您在FB.init
通话中包含版本号:
FB.init({ appId: 'your-app-id', xfbml: true, version: 'v2.8' });
...是做一个简单的调整并改变了路径:
From: //connect.facebook.net/en_GB/sdk.js To: //connect.facebook.net/en_GB/all.js
这解决了错误.不幸的是我不明白为什么.:-(
小小的抬头,我不得不改变
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1
&
version=v2.8";
至
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1
&
version=v2.8";