2010-07-03 5 views
0

JavaScript로 Twitter와 상호 작용하려고합니다. 링크를 클릭하면 사용자의 Twitter 상태 페이지에 미리 설정된 메시지를 전달하려고합니다. 이를 위해 다음과 같이 정의 된 링크가 있습니다.JavaScript를 통해 URL을 통해 문자열 전달

<a href="#" onclick="updateTwitterStatus();">Update Status</a> 

<script type="text/javascript"> 
    function updateTwitterStatus() { 
    var message = "This is a status update"; 
    var url = "http://www.twitter.com/home?status=" + escape(message); 
    window.open(url, "_blank"); 
    } 
</script> 

이 코드를 실행하면 인코딩 된 메시지가 표시됩니다. 이것은 다음과 같이 나타납니다 : 이 % 20is % 20a % 20status % 20update

나는 decodeUriComponent와 encodeUriComponent를 시도했지만 아무것도 작동하지 않는 것 같습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+1

'encodeURIComponent'가 작업을 수행해야합니다. 상태가 트위터에서 왜곡됩니다. –

+0

코드가 맞다고 생각합니다. 트위터가 공간을 대체하지 않는다고 확신합니까? – Marko

답변

0

인코딩과 관련한 문제가 없습니다. 트위터는 이상하고 비표준 호환 이유로 "% 20"대신 "+"를 원합니다.

트위터는 상태 페이지에 이런 식으로 게시하는 것을 허용하지 않습니다. 그리고이 결정은 의미가 있습니다 : 트위터에 로그인 한 후에는 방문하는 웹 사이트에 피드를 스팸 가능성을 부여하고 싶지 않습니다.

당신은 트위터 API를 사용하여 생각 해본 적이 http://dev.twitter.com/pages/libraries#javascript

+0

사실이 아닙니다. Twitter는이 방법으로 게시 할 수 있습니다 - 현재 로그온 한 사용자의 경우. –

+0

트위터는 내 대답에 명시된 이유 때문에 상태 페이지에 게시하는 것을 허용하지 않습니다. 편집 페이지를 열고 텍스트를 텍스트 영역에 넣는 것뿐입니다. 그것을 시도해보십시오 : http://www.twitter.com/home?status=This+message+is+not+posted+to+my+status+page+unless+I+click+on+Tweet. –

+0

게시하거나 게시 준비, 나는 같은 것을 의미. 어쨌든, 좋은 전화! 나는 더 이상 upvote 수 없지만 downvote를 제거했습니다. –

관련 문제