Changeset 12328

Show
Ignore:
Timestamp:
05/25/08 17:46:01 (5 years ago)
Author:
gan2
Message:

tako3 を使ってはてな以外にも対応

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/userscripts/ldr.with-twitter-link.user.js

    r9714 r12328  
    11// ==UserScript== 
    22// @name        LDR with Twitter Link 
    3 // @version     0.13 
     3// @version     0.2 
    44// @description LDR の登録画面にフィードの発信者の Twitter へのリンクを追加する 
    55// @namespace   http://d.hatena.ne.jp/gan2/ 
     
    88 
    99(function () { 
    10   var pattern = new RegExp("[a-z]\\.hatena\\.ne\\.jp/([^/]+)/"); 
     10  var pattern = new RegExp('http://reader.livedoor.com/subscribe/(.+)'); 
    1111  var result  = null; 
    12   var userid  = null; 
    13   var url     = null; 
    14   var a       = null; 
    1512  var fav_url = "http://assets3.twitter.com/images/favicon.ico?" + parseInt(new Date().valueOf() / 1000); 
    1613 
    1714  if ( result = location.href.match(pattern) ) { 
    18     userid = result[1]; 
    19     url = "http://twitter.com/" + userid; 
    20     a = $N("a", {href: url, target: "_blank"}); 
    21     a.innerHTML = url; 
    22  
    23     $X('.//div[@class="subscribe_candidates"]').forEach(function(e) { 
    24       var span = $N("span", {style: "padding: 10px;"}); 
    25       var img  = $N("img", {src: fav_url}); 
    26       span.appendChild(img); 
    27       span.appendChild(a); 
    28       e.appendChild(span); 
     15    GM_xmlhttpRequest({ 
     16      method: 'get', 
     17      overrideMimeType: 'text/plain; charset=UTF-8', 
     18      url: unescape('http://tako3.com/' + result[1]), 
     19      onload : function (req) { 
     20        var temp = $N('div'); 
     21        temp.innerHTML = req.responseText; 
     22        $X('.//ul/li/a', temp).forEach(function (a) { 
     23          if ( a.href.match('http://twitter.com') ) { 
     24            a.target = '_blank'; 
     25            $X('.//div[@class="subscribe_candidates"]').forEach(function(e) { 
     26              var span = $N("span", {style: "padding: 10px;"}); 
     27              var img  = $N("img", {src: fav_url}); 
     28              span.appendChild(img); 
     29              span.appendChild(a); 
     30              e.appendChild(span); 
     31            }); 
     32          } 
     33        }); 
     34      } 
    2935    }); 
    3036  } 
     
    113119      }; 
    114120      var o = document.createNSResolver((context.ownerDocument == null 
    115             ? context : context.ownerDocument).documentElement) 
    116                       .lookupNamespaceURI(prefix); 
     121                                         ? context : context.ownerDocument).documentElement) 
     122      .lookupNamespaceURI(prefix); 
    117123      return o || ns[prefix] || document.documentElement.namespaceURI; 
    118124    });