얼마 전부터 사용하고 있는 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에 복사해 두면 된다.

관련 글타래