GreaseMonkeyを初めて書いてみました。
Lingrをこのごろ始めたのですが、時刻表示が鯖の現地時刻らしくとても気になったので、それをJSTに書き換えるGreaseMonkeyを書いてみました。ただし、だいぶ手抜きです。それに最初に表示される分だけしか書き換わりません。<手抜きすぎ。
それでも使ってみたい方は下のリンクからどうぞ。それとソースも乗せておきます。
toJST in lingr(α版)
// ==UserScript== // @name toJST in lingr // @namespace http://taoe.jpn.ch/userscripts // @description Change lingr timestamp to JST. // @include http://www.lingr.com/room/* // ==/UserScript== (function () { // Get DOM for TimeStamp function changeTimeStamp() { var outer = document.getElementById("messages"); var lists = outer.getElementsByTagName("li"); for (var index = 0; index < lists.length; index++) { var attr = lists[index].getAttribute("class"); var find = attr.indexOf("timemark"); if (find >= 0) { convertJST(lists[index]); } } } function convertJST(element) { var gmt = element.innerHTML; if (gmt.substr(0, 3) == "JST") return gmt; // match "at 9:57pm (March 30)" var group = /at ([0-9]+):([0-9]+)(am|pm) (\(.+\))/.exec(gmt); if (group == null) return gmt; var hour = parseInt(group[1]); var minu = parseInt(group[2]); if (group[3] == "pm" || hour == 12) hour += 12; // convert to JST hour += 16; if (hour >= 24) hour -= 24; // alert(hour + ":" + minu); element.innerHTML = displayText(hour, minu); element.setAttribute("title", gmt); } function displayText(hour, minu) { var m = ((minu < 10)? "0": "") + minu; return "at JST " + hour + ":" + m; } changeTimeStamp(); })();