- 2008-03-15 (土) 19:37

これは何?
Twitter で、指定したユーザに Follow されてるかどうかを表示する Greasemonkey スクリプトです。
以前作ったこれを Greasemonkey にしました。
使い方
下記リンクからインストールしてください。要 Greasemonkey。
インストール後、Twitter のユーザページにアクセスすると、「Does follow do you?」というボタンが追加されます。そのボタンをクリックすると、あなたがそのユーザから follow されてるかどうかを表示します。
twitterfollowercheck.user.js (version 1.0)
その他
グリモンは初めて作りました。
Firefox, Safari(GreaseKit) で動くと思います。
コードも晒しておきます。つっこみ大歓迎。
// ==UserScript==
// @name Twitter Follower Check
// @namespace http://www.sukechan.net/
// @include http://twitter.com/*
// @version 1.0
// ==/UserScript==
(function(){
var num = 1;
var screenName = location.href.substr(19);
// Followers Request
function getFollowers() {
addElm.disabled = true;
addElm.value = "Loading...";
var httpObj = createRequest();
if (httpObj) {
httpObj.open("GET", "http://twitter.com/statuses/followers.json?page=" + num, true);
httpObj.send(null);
httpObj.onreadystatechange = function() {
if (httpObj.readyState == 4) {
if (httpObj.status == 200) {
var jsonData = eval(httpObj.responseText);
if (jsonData.length > 0) {
for (var i = 0; i < jsonData.length; i++) {
if (screenName == jsonData[i].screen_name) {
addElm.value = "You are followed.";
return;
}
}
getFollowers(num++);
} else {
addElm.value = "You are not followed.";
}
} else {
addElm.value = "error. status: " + httpObj.status;
}
}
}
}
}
// XMLHttpRequest
function createRequest() {
var xmlHttp = null;
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
try {
xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
} catch (e) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
// add element
var elm = document.getElementById("follow-control");
if (elm) {
var addElm = document.createElement("input");
addElm.setAttribute("class", "follow-button");
addElm.setAttribute("type", "button");
addElm.setAttribute("value", "Does follow do you?");
addElm.addEventListener("click", function() {getFollowers()}, false);
addElm.style.width = "150px";
addElm.style.marginTop = "3px";
elm.appendChild(addElm);
}
})();

