単なるメモ このページをアンテナに追加 RSSフィード

2005-11-30

サンプル画像

[]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';
		}
	}
}

ただし、かなり適当に作っているので、利用は自己責任でお願いします。

障害報告は受け付けますが、修正義務や障害による問題の責任は持てません。

悪しからず。


あと、お気に入りも同じようにできそうだったんだけど。

お気に入りの並び順が登録した順なので、

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

を考えると、簡単にはできそうにないのであきらめています。

(制限付きでは作成できますが、ここでは公開しません。上のコードと同じようにすればとりあえず作れます。)

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/fujitah/20051130/1133318599