追記 2007/10/05
コードを書き直し、Userscripts.orgにアップロードしました。以下の内容は古いです。
同じネタばっかりでアレですが、自分で便利なので書いた。下の画像のように同じ番組を色分けする。(クリックで拡大)
(function() { var shows = [ { regex : /HOUSE/, color : '#FFEEEE' }, { regex : /BONES/, color : '#EEFFEE' }, { regex : /24 \u30b7\u30fc\u30ba\u30f3/, // 24 シーズン color : '#EEEEFF' }, { regex : /\u30af\u30a3\u30a2\u30fb\u30a2\u30a4/, // クィア・アイ color : '#EEEEEE' }, { regex : /\u30de\u30a4\u30cd\u30fc\u30e0\u30fb\u30a4\u30ba\u30fb\u30a2\u30fc\u30eb/, // マイネーム・イズ・アール color : '#DDF5F5' } ]; function highlightTVShow (show) { $A(document.links).filter(function (link) { return link.innerHTML.match(show.regex); }).forEach(function (elem) { elem.parentNode.style.backgroundColor = show.color; }); } shows.forEach(highlightTVShow); function $A (ite) { var results = []; for (var i = 0, len = ite.length; i < len; i++) { results.push(ite[i]); } return results; } })();
$A
はPrototype.jsから拝借。現在放送してる番組のところがちょっと不完全だけどまぁいいか。
ついでに d:id:KGA:20061104:1162574028 で書いたやつのXPath版
var baseURL = 'http://tv.starcat.co.jp'; var xpathExp = '//strong[@class="tv_now"]'; var result = document.evaluate(xpathExp, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null); document.location = [ baseURL, document.location.pathname, '#', result.singleNodeValue.firstChild.id ].join('');
XPathにしたのと、リロードするとどんどんURLが長くなっちゃっうのを修正。前版では自分でidつけてたけどその必要もなかった。