![](/img/trans.png)
[英]facebook javascript sdk check if user is fan (Error: invalid version specified)
[英]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
&
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.