簡體   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