繁体   English   中英

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

[英]Invalid version specified, facebook share plugin error

我想为我正在开发的网络应用程序使用 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 += '<div class="fb-share-button" data-href="https://developers.facebook.com/docs/plugins/" data-layout="button"></div>';
});

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

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

即使使用 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

这修复了错误。 不幸的是,我不知道为什么。 :-(

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

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

Web 的 Like 按钮上的默认模板不完整; 单击“获取代码”按钮后,Facebook 将为您生成一个包含version参数的完整模板。

小提醒,我不得不改变

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";

我在将文件从 HTTP 更改为 HTTPS 时遇到了这个问题。 原因是以下代码中缺少特定的“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”会复制我们正在使用的方案,因此当您在 htts://example.com 上时,“ //example2.com ”的链接将显示为“ https://example2”。 com '。 对于“fb-comments”,您需要为 data-href 专门说明 HTTP 或 HTTPS。

另请注意,根据 facebook,“ https://example.com ” 是“ http://example.com ”以外的另一个页面。 因此,如果您为 SSL 升级您的网站,如果您将社交插件中的 URL 从 HTTP 更改为 HTTPS,您将丢失所有过去的评论……我选择的解决方案是对所有旧帖子使用 HTTP,对最近的所有帖子使用 HTTPS

Facebook Share Button Configurator上的源代码中存在(或曾经)错误! 页。 如果您使用页面上的共享配置器,它应该可以正常工作。 但是,页面上有一个代码示例,上面写着“将代码示例复制并粘贴到您的网站...”,这是错误的代码,会导致按钮在您的页面上不可见。 javascript 控制台将显示“错误:指定的版本无效”。

我在 2018 年 6 月就这个问题在 Facebook 开了一张票。 他们承认这是代码的问题并承诺修复代码示例,但截至 2018 年 6 月 17 日,网站上仍然存在错误代码。

希望这可以帮助。

我将原来的 sdk.js 更改为 all.js 解决了我的问题:

<div id="fb-root"></div>
<script async defer crossorigin="anonymous" src="https://connect.facebook.net/fr_FR/all.js"></script>

并为我小心地更改您的语言,它是法语“fr_FR”

我从这里拿了我的原始脚本: https : //developers.facebook.com/docs/plugins/page-plugin/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM