指定的版本无效,facebook分享插件错误
我想为我正在使用的networking应用程序使用Facebook共享插件,我只需要基本的共享button。 该应用程序使用requirejs加载JavaScript,所以我跟着怎么做,并更改了Facebook的APIurl的代码片段在Facebook 文档中find 。 这不起作用,sdk抛出invalid version specified
错误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 += '<div class="fb-share-button" data-href="https://developers.facebook.com/docs/plugins/" data-layout="button"></div>'; });
什么是最好的方式包括只有facebook的sharej插件与requirejs?
我提到了下面的问题,但都没有提供具体的解决scheme。 未被捕获的错误:没有指定版本和错误的版本错误 。
即使使用Facebook提供的标准embedded代码,我也遇到以下错误。
未捕获错误:在sdk.js中指定的无效版本
首先要检查的是,在FB.init
调用中包含版本号:
FB.init({ appId: 'your-app-id', xfbml: true, version: 'v2.8' });
现在已经过时的问题
…是做一个简单的调整,并改变了path:
From: //connect.facebook.net/en_GB/sdk.js To: //connect.facebook.net/en_GB/all.js
这固定了错误。 不幸的是我不知道为什么。 🙁
考虑在src
属性中包含一个version
参数,如下所示:
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.8"
Webbutton上的默认模板不完整; 点击“获取代码”button后,Facebook将生成一个包含version
参数的完整模板。
小头抬头,我不得不改变
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";
当我将文件从HTTP更改为HTTPS时遇到了这个问题。 原因是在下面的代码中缺less特定的“HTTP:”或“HTTPS:”:
<div class="fb-comments" data-width="100%" data-href="//amazingjokes.com/image/2017-03-17/A_good_sign_for_St__Patricks_day" data-num-posts="5" data-colorscheme="light"> </div>
通常“//domain.com”会复制我们正在使用的scheme,所以当您使用htts://example.com时,指向“//example2.com”的链接将被视为“ https:// example2”。 com '。 对于“fb-comments”,您需要专门声明数据href的HTTP或HTTPS。
另请注意,根据Facebook的“ https://example.com ”是另一个页面,而不是“ http://example.com ”。 所以,如果你升级你的网站的SSL,你会失去所有过去的评论,如果你将社交插件中的URL从HTTP更改为HTTPS …我select的解决scheme是对所有较旧的post使用HTTP,对最近的一切使用HTTPS