twitterの新デザインでrssを表示

twitterのユーザページにはrssフィードへのリンクが無いので、rssが必要な場合は ユーザIDを調べる⇒IDからRSSフィードのURLを作って叩く が必要らしいです。

面倒臭いし確実に忘れるので、userscriptで画面の左下にリンク表示させる事にしました。


問題点

  • twitter上のリンクで他ユーザのページへ遷移(http://twitter.com/#!/hogehttp://twitter.com/#!/fuga)した時にリンクが更新されない
    • onhashchangeで上手いことすれば動くんだろうけどよくわからない。リロード推奨。
  • (include追記しても)httpsで動かない
    • よくわからない。httpsで見ないからどうでもいい。
(function(){
  var name;
  if (location.hash = ' ') {
    name = location.pathname.split('/')[1];
  }
  else {
    name = location.hash.split('/')[1];
  }
  var xmlurl = 'http://twitter.com/users/show/' + name + '.xml'
  var req = new XMLHttpRequest();
  req.open('GET', xmlurl, false);
  req.send(null);
  if(req.readyState == 4) {
    var xml = req.responseXML;
    var userid = xml.getElementsByTagName('id')[0].firstChild.nodeValue;
  }
  var feed = 'http://twitter.com/statuses/user_timeline/' + userid + '.rss';
  var link = document.createElement('a');
  link.href = feed;
  link.style.position = 'fixed';
  link.style.bottom = '5px';
  link.style.left = '5px';
  link.style.zIndex = 10001;
  var icon = document.createElement('img');
  var icondata = 'data:image/gif;base64,'+
    'R0lGODlhEAAQAPUAAMxJI9FOJdFaKNNhOdRgKdVXJthoOtlfJ9lmKtt3T9xlJ9x1Rt5uK953PeJ1'+
    'LOSEVOV+QeWKVeWaeOZ6N+akhOt8LeuUVuyrhu2GMO2cYO2jb+6IOO6aWO+yiPCPQ/GFLvGFMPGJ'+
    'MfGVRPG4h/KiWvKlZPORO/OdT/PMsfSraPSzfvS+i/TElfWZRfa0cfbJpPjfzvnRpvvYtvvewfzm'+
    '0vz17v3u3/7+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAADgALAAAAAAQABAAAAa1QBwO'+
    'cUAYGUiGYynEMYoIpKNCBYWuw0Pj0rFMq5grhoFQRG7o2moTvoYqZARk9LKlU2IqWUol0dAuGHpH'+
    'FjUzKlcxaCVwew4caDc1JyGKNRNxDFQeLnaTFXYdRASaFVYmijYYGZIHBaQVHzIzLiZ2Ggw1NwsF'+
    'Ag4gJGgzFSo3KAgoNxIBviEtuiwVFjcwBxc3FMwOVyIcjREPBQYJAwACOCGCFQ5krgUBAeZNSUYI'+
    'BAQC+ec4QQA7';
  icon.src = icondata;
  link.appendChild(icon);
  document.body.appendChild(link);
})();


#たぶんtwitter的にはrss使わせたくないんだろーなと思うので、そのうち機能自体無くなるかもね。
##hogeさんもfugaさんも存在する……だと……

2011.12.27追記 http://twitter.com/userid# みたいなURLになることがあったので少し修正