greasemonkey スクリプト
エキサイトブログはファイルのアップロードができないので、使う場合はコピペしてください。
どっか移住すっかなぁ。
マイオークションの1ページ目に表示しているアイテムが、前回表示していた時と値段が変わっていたらオレンジ色に変化します。
不具合があったらコメントで。
<blockquote>
// ==UserScript==
// @name yahoo auction watchlist coloring
// @namespace http://mestoph.exblog.jp/
// @description This script compares current yahoo auction watchlist with saved one
// @include http://openwatchlist*.auctions.yahoo.co.jp/jp/show/mystatus?select=watchlist*watchclosed=0*
// ==/UserScript==
(function(){
var urlarray2 = {};
window.addEventListener('load',function(){
var urlarray = {};
//load pastlist value into assoc-array
var pastList = GM_getValue('pastlist');
var pastArray = pastList.split(';');
var index=0;
while(pastArray[index] != undefined){
var url = pastArray[index++];
var price = pastArray[index++];
urlarray[url] = price;
}
//save document value into about:config
var small = document.getElementsByTagName('SMALL')[22]; //"選択"というセルからスタート
var tbody=small.parentNode.parentNode.parentNode;
var urlcell_num = 0;
var pricecell_num = 0;
//search url cell
var titlerow = tbody.rows[0];
for(var i= 0; i<titlerow.cells.length;i++){
var candiate = titlerow.cells[i].firstChild.firstChild.firstChild;
if((candiate.childNodes.length != 0) && (candiate.nodeName == 'A')){
pricecell_num = i;
urlcell_num = i-1;
break;
}
}
GM_log('urlcell num:'+urlcell_num);
GM_log('pricecell num:'+pricecell_num);
for(var i = 1; i<tbody.rows.length;i++){
var row = tbody.rows[i];
var urlcell = row.cells[urlcell_num];
if(urlcell.firstChild.nodeName != 'A'){ //強調の場合更に子を取る
urlcell = urlcell.firstChild;
}
var url = urlcell.firstChild.href;
var pricecell = row.cells[pricecell_num];
var price = pricecell.firstChild.firstChild.nodeValue;
price = price.replace(",",""); // カンマをはずす
price = price.match(/\d+/g); // 円をはずす
GM_log(url+":"+urlarray[url]);
if(urlarray[url] != price){ // getValueのものと値が違えばセルの色を変える
pricecell.setAttribute('bgcolor','orange');
}
urlarray2[url] = price; // 連想配列更新
}
},false);
window.addEventListener('unload',function(){
var urlstring = ""; // urlarray2をsetValueで保存する
for(var val in urlarray2){
urlstring += val+ ';';
urlstring += urlarray2[val] + ';';
}
GM_setValue('pastlist',urlstring);
GM_log("setvalue string:"+urlstring);
},false);
})();
</blockquote>