2011-08-08 3 views
14

나는 현재 동적으로 수평 카운트 기능이있는 트윗 버튼을 만들려고 해요 :어떻게 동적으로 트윗 버튼을 만들 수 있습니까?

자바 스크립트를

var twitter = document.createElement('a'); 
twitter.setAttribute('href', 'http://twitter.com/share'); 
twitter.setAttribute('class', 'twitter-share-button twitter-tweet'); 
twitter.setAttribute('data-url','http://mindcloud.co.uk/idea/?idea=' + this.id); 
twitter.setAttribute('data-count', 'horizontal'); 
twitter.setAttribute('data-via', 'jtbrowncouk'); 
twitter.style.top = '20px'; 
twitter.style.left = '300px'; 
twitter.innerHTML = "Tweet"; 

제가하는 데 문제는 버튼을 텍스트 링크로 표시되는 것입니다 수평 수 상자가있는 버튼이 아닙니다.

내가 그러나 다음은 내가 사용 작동하도록 올바르게 작동하는 동일한 방법에 페이스 북 버튼을 만들었습니다

:

자바 스크립트

var facebook = document.createElement('fb:like'); 
facebook.setAttribute('id', 'like'+this.id); 
facebook.setAttribute('href', 'http://mindcloud.co.uk/idea/?idea=' + this.id);  
facebook.setAttribute('layout', 'button_count'); 
facebook.setAttribute('send', 'false');   
facebook.setAttribute('width' , '300'); 
facebook.setAttribute('font', ''); 
facebook.setAttribute('show_faces', 'true'); 
facebook.style.top = '0px'; 
facebook.style.left = '300px'; 

을 사용하여 다음 :

FB.XFBML.parse(); 

버튼을 구문 분석하고 그립니다. FB.XFBML.parse()http://connect.facebook.net/en_US/all.js

에서 제공됩니다. .html 파일 내부에서 짹짹 단추를 정적으로 만들면 제대로 작동합니다. 나는 트윗 버튼을 동적으로 생성해야 내 인덱스 페이지에서 다음 스크립트를 포함 해요 : 당신은 내가 잘못 뭘하는지 볼 수 있다면

<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script> 

저에게 알려주십시오!

다음 스크린 샷은 트위터 버튼의 문제점을 시각적으로 보여줍니다! Tweet button not displaying correctly.

해결 방법 :

지금은 문제를 해결하기 위해 관리했습니다. 내가 상상할 수있는 문제는 트위터 스크립트가로드 될 때 실행 중이며 요소를 만들 때 다시 실행되지 않는다는 것입니다.

다음 jQuery가 올바르게 작동합니다!

$ .getScript ("http://platform.twitter.com/widgets.js");

+1

답을 입력하고 질문을 닫으십시오. – Chamilyan

답변

32

그것은 최근에 당신이 다음 트위터 위젯 기능을 사용할 수 있음을 주목할 필요가있다.js 파일 :

<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script> 

이렇게하면 트윗 버튼이 동적으로 재생성됩니다.

+0

재로드를 강요하는 대신 스크립트가 버튼을 (재) 생성하도록하려는 경우 실제로 더 나은 솔루션입니다. –

2

방금 ​​잘못된 코드를 사용하고 있습니다. URL을 지정하려면 data-url이 아닌 url을 사용합니다. 이 작품 :

자세한 내용
var twitter = document.createElement('a'); 
twitter.setAttribute('href', 'http://twitter.com/share'); 
twitter.setAttribute('class', 'twitter-share-button twitter-tweet'); 
twitter.setAttribute('url','http://mindcloud.co.uk/idea/?idea=' + this.id); 
twitter.setAttribute('data-count', 'horizontal'); 
twitter.setAttribute('data-via', 'jtbrowncouk'); 
twitter.style.top = '20px'; 
twitter.style.left = '300px'; 
twitter.innerHTML = "Tweet"; 

, 나는 지금이 문제를 해결하기 위해 관리했습니다 https://dev.twitter.com/docs/tweet-button#properties

+0

URL에 대한 정보 주셔서 감사합니다.하지만 가장 중요한 문제는 텍스트로 나타나는 트윗 버튼입니다. 내가 말한 것을 보여주기 위해 스크린 샷을 찍었습니다. http://i.imgur.com/J1qoA.png – Jack

+0

어떤 브라우저를 사용하고 있습니까? 이것은 나를 위해 크롬에서 작동 편집 : 그냥 Firefox에서 그것을 시도했다. 무슨 뜻인지 알 겠어. 내가 도울 수 있는지 알게 될거야. –

+0

@Jack Firefox 콘솔을 시작할 수 있습니까? Twitter의 twimg.com 도메인에서 일부 CSS 스타일 시트 오류가 발생합니다. 편집 : 갑자기 더 이상 경고가 표시되지 않지만 문제가 남아 있습니다. :/ –

6

에서 트위터의 설명서를 확인하십시오. 내가 상상할 수있는 문제는 트위터 스크립트가로드 될 때 실행 중이며 요소를 만들 때 다시 실행되지 않는다는 것입니다.

다음 jQuery가 올바르게 작동합니다! 당신이 위젯을로드 한 가정

twttr.widgets.load(); 

:

$.getScript("http://platform.twitter.com/widgets.js");