web-dev-qa-db-ja.com

無効なバージョンが指定されました。facebook共有プラグインエラー

作業中のWebアプリにFacebook共有プラグインを使用したいのですが、基本的な共有ボタンのみが必要です。アプリはJavaScriptの読み込みにrequirejsを使用するため、 how-to に従い、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共有プラグインのみを含める最良の方法は何ですか?

次の質問に言及しましたが、具体的な解決策はありません。 不明なエラー:バージョンが指定されていません および 誤ったバージョンエラー

45
Ajinkya

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

これによりエラーが修正されました。残念ながら、私には理由がわかりません。 :-(

95
Simon East

以下に示すように、versionプロパティにsrcパラメーターを含めることを検討してください。

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

Webのようなボタン のデフォルトのテンプレートは不完全です。 [コードを取得]ボタンをクリックすると、Facebookはversionパラメーターを含む完全なテンプレートを生成します。

58
Bright

マイナーヘッドアップ、私は変更する必要がありました

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

6
David Fregoli

ファイルを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を使用することでした

1
patrick

Facebook Share Button Configurator !のソースコードにエラーがある(またはあった)ページ。ページでShare Configuratorを使用すると、正常に機能するはずです。ただし、ページに「Webサイトにコード例をコピーして貼り付けてください...」というコード例があります。これは不適切なコードであり、ページにボタンが表示されなくなります。 JavaScriptコンソールには、「エラー:指定されたバージョンが無効です」と表示されます。

この問題に関して、2018年6月にFacebookでチケットを開きました。彼らはそれがコードの問題であることを認め、コード例を修正することを約束しましたが、2018年6月17日の時点で、悪いコードはまだサイトに残っています。

お役に立てれば。

1
Philosoraptor