静的なページが何時ぐらい前に更新されたページなのか表示するGreasemonkey

25 « 4月 « 2008 « blog.ishinao.netについて。
Blogなら日付がついてるからあまり問題にはならなくて、静的な文書のほうが日付がなかったりするので古い情報なのに気が付きにくいんじゃないかなと思った。
というわけで、document.lastModifiedを見てコンソール(Minibufferが入っていればそれで)に出すGreasemonkeyを書いてみた。

// ==UserScript==
// @name           lastModified
// @namespace      http://ss-o.net/
// @include        http://*
// ==/UserScript==

(function(){
if (![].some || ![].map) return;
var d = new Date(document.lastModified);
if (d.getTime() == 0) return;
var n = new Date();
var dates = ['FullYear','Month','Date','Hours','Minutes'];
var times = dates.map(function(t){
	var _t = 'get' + t;
	return {label:t,span:n[_t]() - d[_t]()};
});
var ago, static = times.some(function(t){
	if (t.span) {
		ago = [t.span, t.label, 'ago'].join(' ');
		return true;
	}
	return false;
});
var post;
if (window.Minibuffer) post = function(s){window.Minibuffer.status('past',s,1000);};
else if (this.console) post = function(s){console.log(s)};
else if (window.opera) post = function(s){opera.postError(s)};
else post = function(s){GM_log(s)};

//post( static ? ago : 'dynamic page' );
if (static) post(ago);
})();

最初は動的なページのときにdynamic pageって出してみたけど、ほとんど動的だから必要なかった。

Opera9.50betaで動くようにした
Minibufferに依存しないようにして、userscripts.orgにあげました。lastModified for Greasemonkey