Die Facebook-Freigabe-Schaltfläche wird nicht mit Rails-Turbolinks geladen

8

Ich habe die allgemeinen Richtlinien von Facebook befolgt, um den Share-Button (Social Plugin) einzubinden. Ссылка

_social.html.erb

%Vor%

fb_share.js

%Vor%

application.js

%Vor%

Die Schaltfläche rendert beim ersten Laden der Seite, funktioniert auch korrekt. Wird jedoch nicht wiedergegeben, wenn zur nächsten Seite und zurück navigiert wird.

Wenn ich die Datei fb_share.js in der Datei application.js (vor den Turbolinks) einfüge, wird sie überhaupt nicht angezeigt.

    
MartinsB 15.05.2015, 10:24
quelle

3 Antworten

3

Das Facebook JS SDK geht bei der Initialisierung nur einmal durch das HTML-Dokument , um nach Elementen zu suchen, die durch die FB-Social-Plugins ersetzt werden sollen.

Wenn Sie versuchen, das JS-SDK erneut einzubetten, indem Sie fb_share aufrufen, ist das nutzlos - weil dieser Code speziell in nicht geschrieben wurde, wird er erneut eingebettet, wenn er bereits eingebettet wurde .

Die richtige Möglichkeit, das SDK dazu zu bringen, das Dokument erneut zu analysieren, um Inhalte hinzuzufügen, die erst später hinzugefügt werden, lautet FB.XFBML.parse .

    
CBroe 15.05.2015, 21:04
quelle
4

Für Turbolinks 5 ist das die einzige Sache, die bei mir funktioniert hat: Ссылка

%Vor%     
Arel 11.03.2017 21:35
quelle
1

Bei TurboLinks 5 funktionierte das für mich!

Es muss data-turbolinks-permanent zum fb-root-Element hinzugefügt werden!

%Vor%     
Betty St 25.05.2017 08:12
quelle