나는 성공적으로이 문제를 해결하기 위해 며칠을 보냈습니다. 문제는 사용자가 같은 버튼을 클릭 할 때 벽에있는 것을 좋아한다는 것을 나타내지 않는다는 것입니다. 코드가 localhost의 테스트 설정에서 올바르게 작동하지만 프로덕션 환경에서는 작동하지 않습니다.동작이 사용자 벽에 표시되지 않음
내 고객은 이미지 갤러리 플러그인을 사용하여 사용자가 미리보기 이미지를 클릭 할 때 더 큰 버전의 이미지를 표시하는 FancyBox라고하는 라이트 박스 플러그인을 사용합니다. 그는 나를 fancybox마다 facebook을 추가하라고 요청했다.
fanybox가 동적으로 생성되었으므로 fancybox가 렌더링 될 때마다 button iframe과 같은 새로운 기능을 생성합니다. like 버튼 iframe에서 사용하는 URL은 사용자가 클릭 한 그림에 고유합니다. 이 코드는 갤러리 URL에 & photo =/location/of/photo.jpg를 추가합니다. 그런 다음 전체 맞춤 URL이 encodeURIComponent()를 통해 전달되어 iframe으로 전달됩니다. 여기
이var currentURL = document.URL,
currentIMG = $("#fancybox-img").attr("src").split("http://www.downsplash.com").pop();
if (currentURL.match("&photo=")) {
var currentURL = currentURL.split("&photo=").shift();
};
var thisURL = encodeURIComponent(currentURL + "&photo=" + currentIMG);
<span id="fancybox-title-over">
<div id="facebook-like" style="display:inline-block;">
<iframe src="//www.facebook.com/plugins/like.php?href=" + thisURL + "&send=false&layout=button_count&width=80&show_faces=true&action=like&colorscheme=dark&font&height=21&appId=314592468583405" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:80px; height:21px;" allowTransparency="true"></iframe>
</div>
</span>
Here is a link to the code running in production.
등 버튼 코드가 차질없이 작동하는 것 같다 iframe이를 생성하는 데 사용되는 코드입니다, 당신이 좋아하고 사진을 달리 할 수 있습니다. 유일한 문제는 사진을 좋아할 때 사용자 벽에 아무 것도 나타나지 않는다는 것입니다.
참고 : 로컬 호스트에서이 코드를 테스트 할 때이 페이스 북에 게시 않습니다/& 사진 =/위치 /의 사용자 정의없이 photo.jpg를
- 모든 것이 제대로 작동 .
나는 왜이 좋아하는 것들이 사용자의 페이스 북 벽에 나타나지 않는지 잘 모르겠다. 누구든지 아이디어가 있습니까?
고객이 벽에 게시 할 수있는 권한을 부여 했습니까? – Chriseyre2000
버튼 iframe과 같은 페이스북 만 사용하기 때문에 권한이 필요하지 않습니다. 사용자 벽에 사용자 정의 정보를 게시하려고 시도하지 않습니다. 그들이 페이스 북에 의해 자동으로 처리되어야하는 무언가를 좋아했다는 사실. –
그것은 효과가 있었지만 아이의 사진을 좋아했지만 다른 사람의 사진을 내 타임 라인에 게시했습니다. –