크롬용 트위터 RT 스크립트 패치

스크립트 패치

결국 크롬에서 Retweet를 담당하는 사용자 스크립트(RetweetThis.user.js)를 패치해서 이 문제를 해결할 수 있었다. 아마 초기에는 잘 동작하던 스크립트였는데 트위터 시스템이 개선되면서 이런 오류가 발생하는 것으로 여겨진다. 따라서 트위터 사용에 편리한 사용자 스크립트라는 글에서 소개한 사용자 스크립트를 설치한 사람은 1RetweetThis.user.js를 다음처럼 패치하기 바란다.

얼마 전부터 사용하고 있는 SNS가 트위터이다. 국내에 유사한 서비스로 가 있지만 미투데이와는 성격이나 분위기가 조금 다르다. 생긴지는 상당히 조금된 서비스이지만 작년에 오바마(Barack Hussein Obama)때문에 한번 유명해지고 올해는 인프렌자(Influenza) 때문에 또 다시 유명해진 서비스이다. 이 서비스는 불여우(Firefox)를 사용하면 불여우(Firefox)에서 제공하는 다양한 확장 때문에 최적의 환경에서 사용할 수 있다.

그러나 불여우를 주 브라우저를 사용하지 않아도 사용하는 브라우저가 그리스몽키(GreaseMonkey)와 같은 사용자 스크립트(User Scripts)를 지원하면 나름대로 편하게 사용할 수 있다. 실제 크롬을 사용하면서 트위터 사용자가 유용하게 사용할 수 있는 스크립트 세개를 트위터 사용에 편리한 사용자 스크립트라는 글을 통해 소개한바 있다. 이 스크립트들을 이용하면 에 올라온 글을 댓글에 따라 들여쓸 수 있고 다른 사람의 글을 인용해서 댓글을 다는 Retweet도 쉽게 할 수 있다.

그런데 이 스크립트를 이용해서 RT(Retweet)를 하다 보니 조금 이상한 현상이 발생했다. 보통 RT는 RT "내생각" @상대방ID "상대 생각"순으로 나와야 한다. 따라서 RT 단추를 클릭하면 보통 RT @상대방ID "상대 생각"으로 떠야 하는데 상대방 ID가 표시되지 않았다.

상대방ID가 사라진 Retweet

원래 '@ReadLead:'가 표시되야 한다. 그런데 막상 표시되는 것은 상대방ID가 사라진 '@:'가 표시된다.

결국 크롬에서 Retweet를 담당하는 사용자 스크립트(RetweetThis.user.js)를 패치해서 이 문제를 해결할 수 있었다. 아마 초기에는 잘 동작하던 스크립트였는데 시스템이 개선되면서 이런 오류가 발생하는 것으로 여겨진다. 따라서 트위터 사용에 편리한 사용자 스크립트라는 글에서 소개한 사용자 스크립트를 설치한 사람은 1RetweetThis.user.js를 다음처럼 패치하기 바란다.

**패치전**
function GetEntryAuthor(entry) {
  var url = document.location.href;
  var re = /^https?:\/\/twitter.com\/(.*?)(\?.*)?$/;
  var m = re.exec(url);
  if ((m[1] == 'timeline/home') 
     || (m[1] == 'timeline/replies') 
     || (m[1] == 'home') 
     || (m[1] == 'replies')) {
    var elems = entry.getElementsByClassName('screen-name');
    if (!elems || !elems[0])
      elems = entry.getElementsByClassName('url');
    return re.exec(elems[0].href)[1];
  } else return m[1];
}

**패치후**
function GetEntryAuthor(entry) {
  var url = document.location.href;
  var re = /^https?:\/\/twitter.com\/(.*?)(\?.*)?$/;
  var m = re.exec(url);
  if ((m[1] == 'timeline/home') 
     || (m[1] == 'timeline/replies') 
     || (m[1] == 'home') 
     || (m[1] == 'replies')) {
    var elems = entry.getElementsByClassName('screen-name');
    if (!elems || !elems[0])
      elems = entry.getElementsByClassName('url');
    return re.exec(elems[0].href)[1];
  } else {
    var elems = entry.getElementsByClassName('screen-name');
    if (!elems || !elems[0])
      elems = entry.getElementsByClassName('url');
    return re.exec(elems[0].href)[1];
  }
}

패치하는 것이 귀찮은 사람은 트위터 사용에 편리한 사용자 스크립트을 참고해서 SciptsforChrome.zip파일을 내려받아 사용자 스크립트를 %LOCALAPPDATA%\Google\Chrome\User Data\Default\User Scripts에 복사해 두면 된다.

관련 글타래

글쓴이
author image
운영체제의 모든 것을 운영하고 있는 IT 블로거. IT 블로거라는 이름은 현재 시국때문에 시사 블로거로 바뀐 상태다. 그러나 나는 아직도 시사와 사회에 관심이 많은 IT 블로거일 뿐이다. 컴퓨터, 운영체제, 시사, 가족, 여행, 맛집, 리뷰등과 살면서 느끼는 소소한 일상이 블로그의 주제이다. 왼쪽의 아이콘은 둘째 딸 다예가 그린 내 모습이다.
2009/05/07 09:33 2009/05/07 09:33
오늘의 글
인기있는 글
조회수 많은 글 | 베오베
댓글 많은 글 | 베오베

Trackback

Trackback Address :: https://offree.net/trackback/2506

Facebook

Comments

  1. 지저깨비 2009/05/07 11:00

    감사합니다. 방금 패치했습니다. ^^

    perm. |  mod/del. reply.
    • 도아 2009/05/07 16:35

      예... RT가 조금 이상해서 확인해 보니 문제가 있더군요. 최소한 그리스몽키만 완벽하게 지원해도 활용할 부분이 많을 것 같더군요.

  2. 공상플러스 2009/05/08 22:15

    뭔가.. 역시 트위터랑 미투데이는 차이가 많군요..ㅇㅂㅇ;;

    perm. |  mod/del. reply.
    • 도아 2009/05/09 06:41

      아무래도 디자인은 미투가 낫습니다.

(옵션: 없으면 생략)

글을 올릴 때 [b], [i], [url], [img]와 같은 BBCode를 사용할 수 있습니다.