Ich versuche, den FB-Like-Button auf meiner Single-Page-Site auf Angular JS zu platzieren. Die Schaltfläche like muss in einer Ansicht (anders als index.html) angezeigt werden, die von einem Controller angezeigt wird. Aber der gleiche Knopf erscheint nur zum ersten Mal, wenn ich diese bestimmte Ansicht lade. Die Schaltfläche wird nicht angezeigt, wenn ich nach dem Besuch einer anderen Ansicht zurückkomme. Unten ist der Code, der FB SDK im Controller für die Ansicht lädt -
(Funktion (d, s, id)) var js, fjs = d.getElementsByTagName (s) [0]; if (d.getElementById (id)) {
Rückkehr; } js = d.createElement (e); js.id = id; js.src="//connect.facebook.net/en_US/all.js#xfbml=1"; fjs.parentNode.insertBefore (js, fjs); } (Dokument, 'Skript', 'Facebook-jssdk'));
index.html hat den folgenden Code -
& lt; Körper ng-controller="mainController" & gt;
& lt; div id="fb-Wurzel" & gt;
myView.html
& lt; div class="fb-ähnlich" data-href="mySite.com / {{ProductID}}" Daten- & gt; layout="Standard" data-action="Gefällt mir" data-show-faces="false" data-share="true" & gt;
Ich habe verschiedene Methoden wie die FB.XFBML.Parse () versucht, das Skript-Tag für FB SDK entfernen und fügen Sie es in jeder Ladung (mit der Hoffnung, dass es wie das erste Mal funktioniert), versucht mit den Anweisungen , das fb-root-div in verschiedene Ansichten platzierend und jetzt bin ich ahnungslos: |
Ich denke, das Problem liegt darin, das SDK beim erneuten Aufrufen der Ansicht zu laden oder zu aktualisieren, aber ich bin mir nicht sicher.
Ich freue mich über jede Eingabe, die mir helfen wird voranzukommen und bitte lassen Sie es mich wissen, wenn Sie weitere Informationen benötigen.
Danke, Sam.
Ich glaube, ich habe die Lösung gefunden.
Am Anfang des Widgetskripts einstellen FB = null; und entfernen Sie die "if (d.getElementById (id)) return;"
Es sollte so aussehen:
%Vor%Ich persönlich habe so etwas gefunden. Ich habe eine Komponente in Winkel 1.5. In der Indexdatei gibt es klassisches Markup aus der Dokumentation und innerhalb der Komponente
%Vor%Der wichtige Teil ist die FB.XFBML.parse (), die das erneute Rendern der Schaltfläche
aufruftTags und Links angularjs html5 facebook-like facebook-social-plugins single-page-application