【急募】うごメモユーザーが一目でわかるグリースモンキー



http://q.hatena.ne.jp/1228279085
はてな人力検索の受け取り率といるか率を表示するグリモン
http://www.bulkitem.com/2008/12/08/%E3%81%AF%E3%81%A6%E3%81%AA%E4%BA%BA%E5%8A%9B%E6%A4%9C%E7%B4%A2%E3%81%AE%E5%8F%97%E3%81%91%E5%8F%96%E3%82%8A%E7%8E%87%E3%81%A8%E3%81%84%E3%82%8B%E3%81%8B%E7%8E%87%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B%E3%82%B0%E3%83%AA%E3%83%A2%E3%83%B3/
こちらにうごメモユーザーかどうかを追加表示することはできますか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2010/02/18 14:21:40
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:Cherenkov No.1

回答回数1504ベストアンサー獲得回数493

ポイント300pt

うごメモユーザは名前の横にうごメモアイコンを表示するようにしました。

仕組み

http://www.hatena.ne.jp/はてなID/

のページにアクセスしてうごメモのアイコンが有るか否かでうごメモユーザか判定してます。

オリジナルのスクリプトのforの後、27行目の後ろに以下のように追加します。

動作のチェックは以下のページで。

http://q.hatena.ne.jp/1265802208



    if (iruka_rate == 0) { td[4].style.backgroundColor = '#FFF68F'; }
  }

//------追加
  var userUrl = document.querySelectorAll("td.usercell > a");
  for(var i=0; i < userUrl.length; i++) {
    (function(i){
      GM_xmlhttpRequest({
        method: "GET",
        url: userUrl[i].href.replace(/q/,"www"),
        headers: {"User-Agent":"Mozilla/5.0", "Accept":"text/xml"},
        onload: function(res) {
          var div = document.createElement("div");
          div.innerHTML = res.responseText;
          var ugomemo = document.evaluate('//div[@class="hatena-modulebody"]//a[starts-with(@href,"http://ugomemo.hatena.ne.jp")]', div, null, 9, null).singleNodeValue;
          if(ugomemo) {
            var img = ugomemo.getElementsByTagName("img")[0];
            img.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAAABmJLR0QA%2FwD%2FAP%2BgvaeTAAAACXBIWXMAAABIAAAASABGyWs%2BAAAACXZwQWcAAAAQAAAAEABcxq3DAAAAmUlEQVQ4y2NgoBAwMjAwMBz5WvOfVI2vP99jCJRYxsiCLEAKeH7%2FEwMDAwMDEzbJQ6e3Mxw6vR0nHxkwYdPc5%2FMOQ2OfzzushmB1ASkAqwFFW4SIEsMwAJc%2F8alhwaYIFgbEuALuAmJsx6aWemFgZ%2BqJUwO6ZmS18DDA5gVcth46vZ1BVcQa1QB0FxACsKTMwsAAyQcwAboDADUwRj5YrkjJAAAAJXRFWHRjcmVhdGUtZGF0ZQAyMDA4LTEyLTE4VDE1OjA3OjE3KzA5OjAwyO3Z4wAAACV0RVh0bW9kaWZ5LWRhdGUAMjAwOC0xMi0xOFQxNTowNzoxNyswOTowMJdcr9cAAAAASUVORK5CYII%3D";
            img.width = 16;
            img.height = 16;
            img.setAttribute("style", "margin: 0px 0px -4px 3px");
            userUrl[i].parentNode.appendChild(ugomemo);
          }
        }
      });
    })(i);
  }
//-------追加終わり

})();
id:uml

すばらしい!!!

試してみましたがバッチリです。

良かったらどこかで公開してダウンロード出来るようにして頂けないですか?

2010/02/18 14:21:02
  • id:uml
    グリモン作ってくれたら、はてなポイント「盛るぜ~盛るぜ~ちょ~盛るぜ~♪」(c)みのりん
  • id:Cherenkov
    回答を見るページ以外でも反応してしまったので、最初に一行付け加えて下さい。
    if(!document.querySelector(".question-information")) return;
    var userUrl = document.querySelectorAll("td.usercell > a");
  • id:Cherenkov
    ご質問の"うごメモユーザー"の定義が、DSでアクセスしているユーザの場合、判別は出来ないと思います。
  • id:Cherenkov
    うごメモプラスの画像が表示されなかったので if(ugomemo){}の中を以下のように変えると直ります。それにともなってリンクの下に線が入るのでそれを消すためにvar ugomemoの下に一行追加してください。


    var ugomemo = document.evaluate('//div[@class="hatena-modulebody"]//a[starts-with(@href,"http://ugomemo.hatena.ne.jp")]', div, null, 9, null).singleNodeValue;
    ugomemo.setAttribute("style","text-decoration:none"); //追加
    if(ugomemo) {
    var img = ugomemo.getElementsByTagName("img")[0];
    img.src = img.src.replace(/q/,"www");
    img.setAttribute("style", "margin: 0px 0px -4px 3px; width:16px; height:16px;");
    var img2 = ugomemo.getElementsByTagName("img")[1];
    if(img2) img2.src = img2.src.replace(/q/,"www");
    userUrl[i].parentNode.appendChild(ugomemo);
    }

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません