日付を見なくても今日の列がどこか確認できるようになったので、このアドレスを直接開いてみられるようになった。
まともに動く保証はないので使う場合は自己責任で。
// ==UserScript== // @name FOX channel list highlight // @namespace http://d.hatena.ne.jp/KGA/ // @description FOX channel list highlight // @include http://www.foxjapan.com/tv/cgi-bin/timetable/timetable2.cgi // ==/UserScript== (function() { var now = new Date(); var num = Math.floor((now.getHours() * 60 + now.getMinutes()) / 30 - 7); if (num <= 0) num += 48; var xpath1 = ['/html/body/table/tbody/tr/td[1]/table/tbody/tr[', num, ']/td'].join(''); var td = document.evaluate( xpath1, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; td.style.backgroundColor = '#afff83'; var day = (now.getDay() == 0) ? 8 : now.getDay() + 1; if (now.getHours() < 4) { if (day > 2) day--; else day = 8; } var xpath2 = ['/html/body/table/tbody/tr/td[', day, ']/table/tbody/tr'].join(''); var tds = document.evaluate( xpath2, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); for (var i = 0; i < tds.snapshotLength; i++) { var cell = document.evaluate( './/td', tds.snapshotItem(i), null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; cell.style.backgroundColor = '#e3f4ff'; } if ((num -= 3) < 0) num = 0; window.scroll(0, num * 57); }());
日付判定とかの部分が激しく汚いし、変数名の付け方が適当すぎる。
20行目をif (day > 1) day--;
からif (day > 2) day--;
に修正。