地方競馬の競走馬の出走履歴の順位の背景に色つけるGreasemonkey
これに色つける。http://www2.keiba.go.jp/keibaWeb/PageFlows/HorseMarkInfo/HorseMarkInfoController.jpf?k_lineageLoginNo=2002106491
Firebugがあればコンソールに勝率、2着までの率、複勝率とか、最大の着差とか前走から何週間経ってるかを出力。
data:text/html;charset=utf-8,//%20%3D%3DUserScript%3D%3D%0A//%20@name%20%20%20%20%20%20%20%20%20%20nar_add_color%0A//%20@namespace%20%20%20%20%20http%3A//d.hatena.ne.jp/arikui/%0A//%20@include%20%20%20%20%20%20%20http%3A//www2.keiba.go.jp/keibaWeb/PageFlows/HorseMarkInfo/HorseMarkInfoController.jpf%3Fk_lineageLoginNo%3D*%0A//%20%3D%3D/UserScript%3D%3D%0A%0A%28function%28%29%7B%0A%0Avar%20ranks%20%3D%20%7B%7D%3B%0Avar%20max_lead%20%3D%200%3B%0A%0Avar%20dbtbl%20%3D%20%24c%28%22dbtbl%22%2C%20%22td%22%29%5B0%5D%3B%0Avar%20dbtbl_rows%20%3D%20dbtbl.getElementsByTagName%28%22tr%22%29%3B%0A%0Avar%20all_race_num%20%3D%20dbtbl_rows.length%20-%202%3B%0A%0Afor%28var%20i%20%3D%202%3B%20i%20%3C%20dbtbl_rows.length%3B%20i++%29%7B%0A%09var%20tds%20%3D%20dbtbl_rows%5Bi%5D.getElementsByTagName%28%22td%22%29%3B%0A%09var%20elm%20%3D%20tds%5B12%5D%3B%0A%09var%20rank%20%3D%20elm.childNodes%5B1%5D.textContent%3B%0A%0A%09if%28%20isNaN%28parseInt%28rank%29%29%20%29%7B%0A%09%09all_race_num--%3B%0A%09%09continue%3B%0A%09%7D%0A%0A%09switch%28rank%29%7B%0A%09%09case%20%221%22%3A%0A%09%09%09elm.style.backgroundColor%20%3D%20%22%23fcc%22%3B%0A%09%09%09%28ranks%5B%221%22%5D%29%3F%20ranks%5B%221%22%5D++%20%3A%20ranks%5B%221%22%5D%20%3D%201%3B%0A%09%09%09var%20lead%20%3D%20parseFloat%28tds%5B14%5D.textContent%29%0A%09%09%09if%28lead%20%3E%20max_lead%29%0A%09%09%09%09max_lead%20%3D%20lead%3B%0A%09%09%09break%3B%0A%09%09case%20%222%22%3A%0A%09%09%09elm.style.backgroundColor%20%3D%20%22%23ccf%22%3B%0A%09%09%09%28ranks%5B%222%22%5D%29%3F%20ranks%5B%222%22%5D++%20%3A%20ranks%5B%222%22%5D%20%3D%201%3B%0A%09%09%09break%3B%0A%09%09case%20%223%22%3A%0A%09%09%09elm.style.backgroundColor%20%3D%20%22%23cfc%22%3B%0A%09%09%09%28ranks%5B%223%22%5D%29%3F%20ranks%5B%223%22%5D++%20%3A%20ranks%5B%223%22%5D%20%3D%201%3B%0A%09%09%09break%3B%0A%09%7D%0A%7D%0A%0Atry%7B%0A%09console.log%28%5B%0A%09%09Math.round%28%20%20ranks%5B%221%22%5D%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20*%201000%20/%20all_race_num%29%20/%2010%2C%0A%09%09Math.round%28%20%28ranks%5B%221%22%5D+ranks%5B%222%22%5D%20%20%20%20%20%20%20%20%20%20%20%29%20*%201000%20/%20all_race_num%29%20/%2010%2C%0A%09%09Math.round%28%20%28ranks%5B%221%22%5D+ranks%5B%222%22%5D+ranks%5B%223%22%5D%29%20*%201000%20/%20all_race_num%29%20/%2010%2C%0A%09%09max_lead%2C%0A%09%09%28new%20Date%28%29%20-%20Date.parse%28dbtbl_rows%5Bi-1%5D.getElementsByTagName%28%22td%22%29%5B0%5D.textContent%29%29%20/%20%281000%20*%2060%20*%2060%20*%2024%20*%207%29%0A%09%5D.join%28%22%5Cn%22%29%29%0A%7D%0Acatch%28e%29%7B%7D%0A%0A%0Afunction%20%24c%28className%2C%20tagName%2C%20parent%29%7B%0A%09var%20cs%20%3D%20%5B%5D%3B%0A%09tagName%20%3D%20tagName%20%7C%7C%20%22*%22%3B%0A%09parent%20%3D%20parent%20%7C%7C%20document%3B%0A%0A%09var%20tags%20%3D%20parent.getElementsByTagName%28tagName%29%3B%0A%09for%28var%20i%20%3D%200%3B%20i%20%3C%20tags.length%3B%20i++%29%0A%09%09if%28tags%5Bi%5D.getAttribute%28%22class%22%29%20%3D%3D%20className%29%0A%09%09%09cs.push%28tags%5Bi%5D%29%3B%0A%0A%09return%20cs%3B%0A%7D%0A%7D%29%28%29%0A%0A//.user.js
// ==UserScript== // @name nar_add_color // @namespace http://d.hatena.ne.jp/arikui/ // @include http://www2.keiba.go.jp/keibaWeb/PageFlows/HorseMarkInfo/HorseMarkInfoController.jpf?k_lineageLoginNo=* // ==/UserScript== (function(){ var ranks = {}; var max_lead = 0; var dbtbl = $c("dbtbl", "td")[0]; var dbtbl_rows = dbtbl.getElementsByTagName("tr"); var all_race_num = dbtbl_rows.length - 2; for(var i = 2; i < dbtbl_rows.length; i++){ var tds = dbtbl_rows[i].getElementsByTagName("td"); var elm = tds[12]; var rank = elm.childNodes[1].textContent; if( isNaN(parseInt(rank)) ){ all_race_num--; continue; } switch(rank){ case "1": elm.style.backgroundColor = "#fcc"; (ranks["1"])? ranks["1"]++ : ranks["1"] = 1; var lead = parseFloat(tds[14].textContent) if(lead > max_lead) max_lead = lead; break; case "2": elm.style.backgroundColor = "#ccf"; (ranks["2"])? ranks["2"]++ : ranks["2"] = 1; break; case "3": elm.style.backgroundColor = "#cfc"; (ranks["3"])? ranks["3"]++ : ranks["3"] = 1; break; } } try{ console.log([ Math.round( ranks["1"] * 1000 / all_race_num) / 10, Math.round( (ranks["1"]+ranks["2"] ) * 1000 / all_race_num) / 10, Math.round( (ranks["1"]+ranks["2"]+ranks["3"]) * 1000 / all_race_num) / 10, max_lead, (new Date() - Date.parse(dbtbl_rows[i-1].getElementsByTagName("td")[0].textContent)) / (1000 * 60 * 60 * 24 * 7) ].join("\n")) } catch(e){} function $c(className, tagName, parent){ var cs = []; tagName = tagName || "*"; parent = parent || document; var tags = parent.getElementsByTagName(tagName); for(var i = 0; i < tags.length; i++) if(tags[i].getAttribute("class") == className) cs.push(tags[i]); return cs; } })()