2

개인의 뉴스 피드에서 facebook fql 스트림에서 검색된 모든 개별 게시물에 버튼과 같은 페이스 북을 추가하고 싶습니다. 그래서 href 동적, 항상 변경, 나는 이것을 구현하는 3 가지 방법을 시도했다;동적 콘텐츠 자바 스크립트에 대한 버튼처럼 페이 스북을 통합하는 방법

(1) 내 html 파일에 다음을 포함하면 버튼과 비슷하지만 그 particualar 게시물과 관련이 없습니다. 분명히 href가 비어 있기 때문에.

<div class="fb-like" data-href="" data-send="false" data-width="250" data-show-faces="true"></div> 

내 HTML

<div id=fblikebutton></div> 

에서 다음과 같은 사업부와 자바 스크립트 포함 (2) :

fblikebutton_markup += '<div class="fb-like" data-href="'+post_href+'" data-send="false" data-width="250" data-show-faces="true"></div>'; 
$('#fblikebutton').empty().append(fblikebutton_markup); 

post_href 현재 게시물에 대한 HREF입니다, 내가 검색하고 정확한 href. 그러나 위에는 아무것도 표시되지 않습니다.

(3) 다음 코드는이 오류가 나타납니다 :

Blocked a frame with origin " https://www.facebook.com " from accessing a frame with origin " http://static.ak.facebook.com ". The frame requesting access has a protocol of "https", the frame being accessed has a protocol of "http". Protocols must match.

HTML :

<div id ="fblikebutton"></div> 

자바 스크립트 :

fblikebutton_markup= '<fb:like href="'+post_href+'" send="false" width="250" show_faces="true"></fb:like>' 
$('#fblikebutton').append(fblikebutton_markup); 
FB.XFBML.parse(document.getElementById('fblikebutton')); 

이 도와주세요! 스택 오버플로를 둘러 보았지만 아무 도움이되지 않습니다.

지금은 아직 일치해야 프로토콜을 가져 오는 4 번째 시도가 오류 :.

(4) jQuery를 ("#의 fblikeblock") HTML (''); FB.XFBML.parse (document.getElementById ('fblikeblock'));

이제 네 번째 방법을 사용하면 버튼이 사라졌습니다. 그것은 작동하지 않습니다. :(

답변

3

당신이 컨테이너에 FB-같은 콘텐츠를 추가 한 후 $('.container') 다음 FB.XFBML.parse($('.container')[0]) 또는 FB.XFBML.parse($('.container'))을 실행 등.

을 나는 그것이 내가 이전에 수행 한 프로젝트에서 구현해야합니다.

편집 :. 등의 버튼이 나는 다음과 같이 제공하고 클릭 그러나 때, 작동 또한 FB JS는 자바 스크립트 FB.XFBML.parse 이전에 호출되는 페이지에 포함되어 있는지 확인

+0

감사합니다 오류로 인해 현재 게시물을 좋아할 수 없습니다. "출처가있는 프레임 차단"https : //www.fac ebook.com "이"http://static.ak.facebook.com "이라는 원본 프레임에 액세스하지 못하도록합니다. 액세스를 요구하는 프레임은 "https"의 프로토콜을 가지며, 액세스되는 프레임은 "http"의 프로토콜을 갖는다. 프로토콜이 일치해야합니다. " – Dot

+0

감사합니다. 이유가 무엇인지 알아 냈습니다. 페이스 북 내부의 개체가 마음에 들기 때문에 URL이 웹 사이트가 아니므로 $ ('. { FB.api ('/'+ postID + '/ likes', 'post', function (응답) { if (응답 === 참) { 경고 (" 완료되었습니다. "); } }); – Dot

관련 문제