Ongeldige versie opgegeven, fout in plug-in voor delen van Facebook

Ik wil de Facebook Share-plug-in gebruiken voor de web-app waaraan ik werk, ik heb alleen de standaard Share-knop nodig. De app gebruikt requiredjs voor het laden van javascript, dus ik volgde de how-toen veranderde de facebook api-url naar die gevonden in codefragmenten op facebook docs. Dit werkt niet en de sdk geeft de fout invalid version specified. Zo zien mijn bestanden eruit.

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>';
});

Wat is de beste manier om alleen de Facebook Share-plug-in met requiredjs op te nemen?

Ik verwees naar de volgende vragen, maar geen ervan biedt een concrete oplossing. Ongevangen fout: geen versie opgegevenen foute versiefout.


Antwoord 1, autoriteit 100%

Ik kreeg ook de volgende foutmelding zelfs bij het gebruik van de standaard insluitcode die Facebook biedt.

Ongevangen fout: ongeldige versie opgegevenin sdk.js

Het eerste dat u moet controleren, is dat u het versienummer opneemt in uw FB.init-aanroep:

FB.init({
  appId: 'your-app-id',
  xfbml: true,
  version: 'v2.8'
});

De inmiddels verouderde oplossing…

…was om een ​​simpele aanpassing te maken en het pad te veranderen:

From:   //connect.facebook.net/en_GB/sdk.js  
To:     //connect.facebook.net/en_GB/all.js

En hiermee is de fout verholpen. Ik heb helaas geen idee waarom. 🙁


Antwoord 2, autoriteit 58%

Overweeg om een ​​parameter versionop te nemen in de eigenschap src, zoals hieronder weergegeven:

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

De standaardsjabloon op Vind ik leuk-knop voor webis onvolledig; door op de knop “Code ophalen” te klikken, genereert Facebook u een volledige sjabloon met de parameter versioninbegrepen.


Antwoord 3, autoriteit 6%

Kleine waarschuwing, ik moest me omkleden

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

naar

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


Antwoord 4

Ik kwam dit probleem tegen toen ik mijn bestand van HTTP naar HTTPS aan het veranderen was. De reden was het ontbreken van specifieke “HTTP:” of “HTTPS:” in de volgende code:

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

Normaal gesproken kopieert de ‘//domain.com’ het schema waarin we staan, dus wanneer je op htts bent: //example.com een ​​link naar ‘//example2.com’ zal zien als ‘https://example2.com ‘. Voor de ‘FB-OPMERKINGEN’ moet u specifiek HTTP of HTTPS opgeven voor de Data-Href.

Merk ook op dat ‘https://example.com ‘ volgens Facebook is een andere pagina dan ‘http://example.com ‘. Dus als u uw site voor SSL upgrade, verliest u alle reacties in het verleden als u de URL in de sociale plug-ins van http naar https verandert … De oplossing die ik kies, was om HTTP voor alle oudere berichten en HTTPS te gebruiken voor alles recent

Other episodes