苺は甘いアップローダー攻略法
ひとつのウェブページの攻略法を共有することによって、ちょっとしたtipsを期待するエントリー。
今回対象にするのは、老舗の苺は甘いアップローダー
今回の目的
- 各アップロード板までたどり着くのにいちいち小さい所をクリックしたりするのが面倒なので、それを省きたい。
- 以前つくった広告不可視化関数(広告削除用の関数を改造してみた(その2))を使おうとおもっても広告にマーキングが施されておらず、いわゆるノラ広告だらけで手を焼いていた。それを何とかしたい。
- これとこれを残すみたいな処理にDOM rangeを使ってみる。
- まとめると、アップローダ一覧のページを最適化する。各アップローダのページの最適化は今回は対象外。
1-2 苺の罠
- アップローダ一覧のページは頻繁にアドレスを変えるので動的に対応しないといけない。
1-4 ソースコード(トップページ)
//トップページ if(location.href == 'http://toku.xdisc.net/'){ var ichigodoor = document.evaluate('//a[text()="1M〜120Mまで各種"]', document, null, 7, null); GM_setValue('ichigo_href',ichigodoor.snapshotItem(0).href); if(location.href != ichigodoor.snapshotItem(0).href) location.href = ichigodoor.snapshotItem(0).href; }
2-2 ソースコード(一覧ページ)
//一覧ページ if(location.href == GM_getValue('ichigo_href')){ var td_one = document.evaluate('//td[@width="389"]', document, null, 7, null); //console.log(td_one.snapshotLength) var td_two = document.evaluate('//td[@bgcolor="#ffffff"][@colspan="2"][iframe]', document, null, 7, null); //console.log(td_two.snapshotLength) var range = document.createRange(); range.selectNode(td_one.snapshotItem(0)); range.selectNode(td_two.snapshotItem(0)); documentFragment = range.cloneContents(); document.body.innerHTML = ''; document.body.appendChild(documentFragment); //iframe全消し var adframe = document.evaluate('//iframe', document, null, 7, null); for(var i=0;i<adframe.snapshotLength;i++){ adframe.snapshotItem(i).style.visibility = 'hidden'; } }
感想
- rangeの使い方あってるのかな。