Firefoxグリースモンキー

サンプル画像

mixiやってない人には全く関係ない話です。

mixiの共通コミュニティをハイライトするグリースモンキー(Greasemonkey)のスクリプトが以下で公開されています。
http://tokyoenvious.xrea.jp/b/web/mixi/highlight_common_community.html

これを編集して以下のコードを追加することで、共通のマイミクが一目で分かるようにする事ができます。


if (document.location.href.match(/list_friend\.pl/))
{
// マイミク一覧画面
var com = GM_getValue('mymixi', '').split(',');
var myCom = new Object();
for (var i = 0; i < com.length; i++)
if (com[i])
myCom[com[i]] = true;

var comLinks = document.evaluate('//a[starts-with(@href, "show_friend.pl")]', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
if (document.evaluate('//a[@href="edit_account.pl"]', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null).snapshotLength)
{ // "設定変更" へのリンクがあったら自分のマイミク一覧だとみなす
// Greasemonkeyにより保存されているマイミク一覧の更新

var id_max = comLinks.snapshotItem(0).href.match(/\d+/);
var id_min = comLinks.snapshotItem(comLinks.snapshotLength - 1).href.match(/\d+/);

// このページに表示されている範囲を更新
for (var c in myCom)
if (Number(id_max) >= Number(c) && Number(c) >= Number(id_min))
delete myCom[c];

for (var i = 0; i < comLinks.snapshotLength; i++)
myCom[comLinks.snapshotItem(i).href.match(/\d+/)] = true;

// 保存
var com_str = '';
for (var c in myCom)
com_str += c + ',';
GM_setValue('mymixi', com_str);
}
}
if (document.location.href.match(/list_friend\.pl\?.*id=(\d+)/))
{
// 他人のマイミク一覧画面
var com = GM_getValue('mymixi', '').split(',');
var myCom = new Object();
for (var i = 0; i < com.length; i++)
if (com[i])
myCom[com[i]] = true;

var comLinks = document.evaluate('//a[starts-with(@href, "show_friend.pl")]', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);

for (var i = 0; i < comLinks.snapshotLength; i++)
{
var comLink = comLinks.snapshotItem(i);
if (myCom[comLink.href.match(/\d+/)])
{
// 画像ファイルのURLを指定する
comLink.parentNode.style.background = 'url(http://www2u.biglobe.ne.jp/~fworld/img/mymixi.gif) no-repeat';
}
}
}

ただし、かなり適当に作っているので、利用は自己責任でお願いします。
障害報告は受け付けますが、修正義務や障害による問題の責任は持てません。
悪しからず。


あと、お気に入りも同じようにできそうだったんだけど。
お気に入りの並び順が登録した順なので、

  • お気に入りが複数ページになった時
  • お気に入りから削除した時

を考えると、簡単にはできそうにないのであきらめています。
(制限付きでは作成できますが、ここでは公開しません。上のコードと同じようにすればとりあえず作れます。)