6

Chcę dynamicznie zmienić dane-href dla wtyczki komentarzy fb poniżej na podstawie zmiennej javascript. Używam flashowego pliku swf i przekazuję nowy link do data-href do wrappera html za pomocą funkcji javascript. Kiedy to zrobię, chcę, aby wtyczka komentarzy fb odświeżyła się do nowego łącza danych-href.Jak dynamicznie zmieniać adres URL komentarzy facebook na podstawie zmiennej javascript?

<div style="float: left; padding-left:5px; min-height:500px" class="fb-comments" data-href="www.example.com" data-num-posts="20" data-width="380"></div> 

Called javascript funkcja przechodzenia w nowy link do wtyczki Komentarze:

function changeCommentsUrl(newUrl){ 
// should refresh fb comments plugin for the "newUrl" variable 
} 

Odpowiedz

12

To załaduje wstępne uwagi okno, skrypt, gdy wykonywany będzie usunąć komentarze div otoki i zastąpić HTML5 komentarzy pole z nowym adresem URL. JS SDK przeanalizuje następnie nowe okno.

Zestaw SDK JS jest wymagany do tej pracy. patrz https://developers.facebook.com/docs/reference/javascript/

fix dla xfbml czynią z Domu manipulacji


<div id="comments"> 
<div style="float: left; padding-left:5px; min-height:500px" class="fb-comments" data-href="www.example.com" data-num-posts="20" data-width="380"></div> 
</div> 
<script> 
function changeCommentsUrl(newUrl){ 
// should refresh fb comments plugin for the "newUrl" variable 
document.getElementById('comments').innerHTML=''; 
parser=document.getElementById('comments'); 
parser.innerHTML='<div style="float: left; padding-left:5px; min-height:500px" class="fb-comments" data-href="'+newUrl+'" data-num-posts="20" data-width="380"></div>'; 
FB.XFBML.parse(parser); 
} 
</script> 

użytkownik rozwiązany:

document.getElementById('comments').innerHTML='<div style="float: left; padding-left:5px; min-height:500px" class="fb-comments" data-href="'+link+'" data-num-posts="20" data-width="380"></div>'; 
FB.XFBML.parse(document.getElementById('comments')); 

+1

Dodano kod, ale po uruchomieniu skryptu kasuje pole komentarzy, ale nowe pole komentarza nie pojawia się. Mam załadowany JS SDK. – Steven

+0

Występuje błąd w renderowaniu z innerHTML, edytowałem rozwiązanie na górze i testowałem tutaj http://anotherfeed.com/login.php, są 2 linki na stronie url 1 i url 2, będą się zmieniać i renderować w polu komentarzy. –

+1

Dzięki, edytowałem kod, usuwając zmienną parsera i zadziałało. Wygląda na to, że twój zmodyfikowany kod też powinien działać. document.getElementById ('comments'). innerHTML = '

'; \t FB.XFBML.parse (document.getElementById ('comments')); – Steven

2

znalazłem najprostszy i skuteczny sposób, aby Państwa Facebook Comment box do rozpoznania nize indywidualny adres URL każdej strony (szczególnie dobre dla witryn e-commerce).

Dodaj ten skrypt na swojej górnej części nagłówka szablonu strony (generuje de wartość danych-href za komentarz Box Gr:

<script type="text/javascript" language="javascript">jQuery(“#FC”).attr(“data-href”, window.location.href.split(‘?’)[0]);</script> 

a następnie w swoim polu komentarza div, dodać identyfikator dla wartość wygenerowana w javascript.

<div id="FC" class="fb-comments" data-href="" data-width="700" data-numposts="5" data-colorscheme="light"> 

voilà poświęciłem tyle czasu złamać tę nakrętkę, po prostu musiał podzielić się nim, aby zaoszczędzić trochę czasu w BRE ak! Pozdrawiam!

Powiązane problemy