Hatena::ブログ(Diary)

console

 

2008-01-28 (Mon) 久々のコッチ

twitterに張られたニコニコリンクをサムネ(というかiframe)展開するぐりもん

とりあえず公開ー

// ==UserScript==
// @name mata saume
// @namespace	http://d.hatena.ne.jp/noboruhi
// @description matemiteru samuneiru
// @include http://twitter.com/*
// @author	noboruhi
// @version	 0.1
// ==/UserScript==


(
function() {
	var entry = $X("//tr[@class='hentry']//a[starts-with(@href,'http://www.nicovideo.jp/watch/')]").forEach(function (a) {
		a.href.match(/http:\/\/www\.nicovideo\.jp\/watch\/(sm\d+)/);
		var id = RegExp.$1;
	  var br =$N('br',{},'');
		var iframe = $N('iframe',{
			'width' : '312',
			'height' : '176',
			'src' : 'http://www.nicovideo.jp/thumb/' + id,
			'scrolling'	: 'no',
			'style' : 'border:solid 1px #CCC;',
			'frameborder' : '0'
		},'');
		a.parentNode.appendChild(br);
		a.parentNode.appendChild(iframe);
		iframe.appendChild(a);
		a.parentNode.removeChild(a);
	});


// cho45 san toko no inyou
function $N(name, attr, childs) {
		var ret = document.createElement(name);
		for (k in attr) {
			if (!attr.hasOwnProperty(k)) continue;
			v = attr[k];
			if (k == "class") {
				ret.className = v;
			} else {
				ret.setAttribute(k, v);
			}
		}
		switch (typeof childs) {
			case "string": {
				ret.appendChild(document.createTextNode(childs));
				break;
			}
			case "object": {
				for (var i = 0, len = childs.length; i < len; i++) {
					var child = childs[i];
					if (typeof child == "string") {
						ret.appendChild(document.createTextNode(child));
					} else {
						ret.appendChild(child);
					}
				}
				break;
			}
		}
		return ret;
	}
	
	function $X(exp, context) {
		if (!context) context = document;
		var resolver = function (prefix) {
			var o = document.createNSResolver(context)(prefix);
			return o ? o : (document.contentType == "text/html") ? "" : "http://www.w3.org/1999/xhtml";
		}
		var exp = document.createExpression(exp, resolver);

		var result = exp.evaluate(context, XPathResult.ANY_TYPE, null);
		switch (result.resultType) {
			case XPathResult.STRING_TYPE : return result.stringValue;
			case XPathResult.NUMBER_TYPE : return result.numberValue;
			case XPathResult.BOOLEAN_TYPE: return result.booleanValue;
			case XPathResult.UNORDERED_NODE_ITERATOR_TYPE: {
				result = exp.evaluate(context, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
				var ret = [];
				for (var i = 0, len = result.snapshotLength; i < len ; i++) {
					ret.push(result.snapshotItem(i));
				}
				return ret;
			}
		}
		return null;
	}
})();

ぐりもんは初めて書いたんで無駄・無理な所があるやもしれません。ツッコミ添削などお待ちしております。

追記:ツッコミきました!なんか不具合直ってるっぽいんでコッチ使ってくださいな。

http://blog.fulltext-search.biz/articles/2008/01/29/re-mata-samune

2006-04-17 (Mon) 寒い春晴れ

第2次Winny危機

最近Winny事件を見て思ったネタをひとつ。

Winnyによって情報が流出する事が良くも悪くも当然になってしまった今。どこも必死になって個々のシステム個人情報なんかを守っているけれども、ちょっと逆に考えてみる。もし信頼を落とす目的Winnyに特定の企業の重要情報を「偽装」した情報が流されたら。

ちょっと前にメールであんな事になるぐらいだし、そもそも今の状況でそれが「偽装」と信じてもらえるかどうか。

結局、winnyを排除しましたってだけではダメな気がするんですよ。ハイ。

[]はてブ図解が欲しい

ABAさんトコの2ch各板不徹底図解はてブ版を見てみたいのデスヨ。人気か注目エントリの各ブックマークタグを抽出して適当に配置して出力、とか。

2006-04-13 (Thu) 蒸し暑い曇り

ついカッとなって

本を3冊も購入してしまった。

後悔はまったくもってしていません。ハイ。

2006-04-11 (Tue) くもりぞら

その昔アンテナ中毒だった私。

自分の50%ははてブで出来ています。 自分の50%はRSSリーダーで出来ています。 ・・・って成分解析じゃないけど、最近の自分の生活ってホントそんな感じ。

はてブとRSSリーダーの害?

ちょうど5年くらい前にあるコミュニティ界隈の日記をチェックするアンテナにはまっていた時も同じだった。いやー、怖い怖い。

何が怖いって同意して考えが完了してしまうこと。あの時は本当に異常だった。

BLACKBIRDBLACKBIRD 2007/09/17 17:34 初めまして。
何処のコミュニティかしら?
嵌ると大変みたいですねー。
「考える葦」とは言うけれど言うは易く行なうは難くですねー。

2006-02-13 (Mon)

ピンチ

運動不足を指摘されたんで帰りに階段を駆け上がって(段跳びの要領で)みた。

…ぜんぜん膝が上がらない。