it-swarm.com.ru

Указана неверная версия, ошибка плагина Facebook share

Я хочу использовать плагин «Поделиться» на Facebook для веб-приложения, над которым я работаю, мне нужна только базовая кнопка «Поделиться». Приложение использует requirejs для загрузки javascript, поэтому я следовал за how-to и изменил URL-адрес api facebook на тот, который есть в фрагментах кода на 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>';
});

Каков наилучший способ включить только плагин для публикации в Facebook с requirejs?

Я ссылался на следующие вопросы, но ни один из них не дает конкретного решения. Uncaught error: не указана версия и неверная версия версии .

43
Ajinkya

Я также получал следующую ошибку даже при использовании стандартного кода встраивания, который предоставляет Facebook.

Uncaught Error: указана неверная версия в 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

И это исправило ошибку. К сожалению, я понятия не имею, почему. :-(

93
Simon East

Рассмотрите возможность включения параметра version в свойство src, как показано ниже:

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

Шаблон по умолчанию для кнопки Like для веб - неполон; после нажатия на кнопку «Получить код» Facebook сгенерирует вам полный шаблон с включенным параметром version.

55
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' вам нужно специально указать HTTP или HTTPS для data-href.

Также обратите внимание, что « https://example.com » в соответствии с facebook - это другая страница, чем « http://example.com ». Поэтому, если вы обновите свой сайт для SSL, вы потеряете все предыдущие комментарии, если измените URL-адрес в социальных плагинах с HTTP на HTTPS ... Решение, которое я выбрал, состояло в том, чтобы использовать HTTP для всех старых сообщений и HTTPS для всего недавнего

1
patrick

В исходном коде на Facebook Configurator Button Share была (или была) ошибка - /! стр. Если вы используете Конфигуратор общего доступа на странице, он должен работать нормально. Однако на странице есть пример кода с надписью «Скопируйте и вставьте пример кода на свой веб-сайт ...», что является неверным кодом и приведет к тому, что кнопка не будет отображаться на вашей странице. На консоли javascript появится сообщение «Ошибка: указана неверная версия».

Я открыл билет на Facebook в июне 2018 года по этому вопросу. Они признали, что это проблема с кодом и пообещали исправить пример кода, но по состоянию на 17 июня 2018 года на сайте все еще есть плохой код.

Надеюсь это поможет. 

0
Philosoraptor