2012-10-10 6 views
0

클래식처럼 버튼 코드 :"좋아요"대상을 동적으로 변경 하시겠습니까?

<div class="fb-like" style="position:relative;float:left;" data-href="http://www.mywebsite.com/?IDL=1" data-send="false" data-layout="button_count" data-width="450" data-show-faces="false"></div> 

<div id="fb-root"></div> 
<script type="text/javascript">  
    (function (d, s, id) { 
     var js, fjs = d.getElementsByTagName(s)[0]; 
     if (d.getElementById(id)) return; 
     js = d.createElement(s); js.id = id; 
     js.src = "//connect.facebook.net/en_US/all.js#xfbml=1"; 
     fjs.parentNode.insertBefore(js, fjs); 
    } (document, 'script', 'facebook-jssdk')); 
</script> 

그것은 http://www.mywebsite.com/?IDL=1 페이지로 I처럼 페이스 북 버튼을 렌더링합니다. 이제 페이지의 일부 동작으로 인해 대상을 http://www.mywebsite.com/?IDL=2으로 변경하고 싶습니다. 어떻게해야합니까? 단추를 다시 만들고 파괴해야합니까? 나는 동적으로 페이지를 "새로 고침"하지 않고 (쉽게 될 것입니다)

답변

1

이미 초기화 된 버튼을 삭제하고 다른 버튼으로 바꾸려면 FB.XFBML.parse()으로 전화하여 XFBML을 다시 구문 분석하고 새 버튼을 다시 초기화해야합니다.

+0

어떻게 그것을 파괴 할 수 있습니까? – markzzz

+0

jQuery를 사용한다면'$ ('.fb-like'). remove();'를 사용한다는 가정하에 DOM에서 제거하는 것뿐입니다. –

+0

그래, 좋아,하지만 다른 모든 FB 플러그인을 다시 렌더링합니다 ... – markzzz

1

왜 jquery를 사용하지 않습니까?

$('.fb-like').attr("data-href", "http://www.mywebsite.com/?IDL=2");​ 

또는 당신은, jQuery를 사용하는 등 div에 ID를 할당하고 (당신이 fb-like에 ID를 설정 한 가정)이 코드를 시도하지 않으려는 경우 :

document.getElementById('fb-like').setAttribute('data-href','http://www.mywebsite.com/?IDL=2'); 

동적으로 링크를 업데이트합니다.

+0

음, 작동하지 않습니다. http://jsfiddle.net/gVz3G/. 먼저 http://www.mywebsite.com/?IDL=1이 될 것입니다. 링크를 변경 한 후 http://www.mywebsite.com/?IDL=2에서 확인하십시오. 그러나 그것은 매번 http://www.mywebsite.com/?IDL=1에서 지적합니다. – markzzz

+0

흠 ... 이상한데, 나에게 잘 돌아 간다. –

관련 문제