2007-05-15
■[.user.js]ウェブ魚拓に残ってる2chスレッドを専ブラ風に読みたい 
http://live23.2ch.net/test/read.cgi/liveanb/1179144169/ - 2007蟷エ5譛?15譌・ 09:11 - 繧ヲ繧ァ繝夜ュ壽挙を読んでたんだけど、専ブラに慣れた今となっては生のHTMLを読むのはきついのでざっと書いた。
ざっとなのでOperaでしか検証してないし、機能も「>>([0-9]+)」「>>([0-9]+)-([0-9]+)」にマウスオーバーしたら当該レスがポップアップするだけです。
http://sybian.picopico.cc/misc/gyotaku-2ch-dressup.user.js
// ==UserScript== // @name 2ch gyotaku // @include http://megalodon.jp/?url=http://*.2ch.net/ // @namespace http://d.hatena.ne.jp/Sybian/ // @version 1.0 // ==/UserScript== (function(){ var res=document.getElementsByTagName('dd'); if(!res) return; var dt=document.getElementsByTagName('dt'); for(var i=0,len=res.length; i<len; i++){ res[i].value=dt[i].innerHTML+'<br />'+res[i].innerHTML; } function popup(a,e){ var id='popup-'+a.res; if(document.getElementById(id)) return ; var div=document.createElement('div'); div.flag=false; div.id=id; var html=''; if(a.res.length == 2){ html+=res[a.res[0]-1].value; }else{ for(var i=a.res[0]; i<=a.res[1]; i++){ html+=res[i-1].value || ''; } } div.innerHTML=html.replace(/<br><br>[\r\n]*$/i,''); div.addEventListener( 'mousemove' ,function(e){ this.flag=true; } ,false ); div.addEventListener( 'mouseout' ,function(e){ this.flag=false; var self=this; setTimeout( function(){ if(!self.flag) self.parentNode.removeChild(self); } ,400 ); } ,false ); div.setAttribute( 'style' ,[ 'position:absolute' ,'background:#efefef' ,'border:2px solid #333' ,'padding:1ex' ,'top:'+(e.pageY-5)+'px' ,'left:'+(e.pageX+20)+'px' ].join(';') ); document.body.appendChild(div); setup(div); } function setup(parent){ var parent=parent || document; var a=parent.getElementsByTagName('a'); for(var i=0,len=a.length; i<len; i++){ if(typeof a[i].innerHTML == 'string' && a[i].innerHTML.match(/>>([0-9-]+)/)){ var arr=(RegExp.$1+'-').split('-'); a[i].res=arr; a[i].addEventListener( 'mouseover' ,function(e){ popup(this,e); } ,false ); a[i].addEventListener( 'mouseout' ,function(e){ return ; var div=document.getElementById('popup-'+this.res); if(div && !flag){ document.body.removeChild(div); } } ,false ); } } }; setup(); })();
コメントを書く
トラックバック - http://d.hatena.ne.jp/Sybian/20070515/p1
リンク元
- 80 http://www.opera-wiki.com/index.php?User JavaScript/特定ページをカスタムするUserJS
- 30 http://reader.livedoor.com/reader/
- 20 http://b.hatena.ne.jp/entry/http://www.radiumsoftware.com/0705.html#070515
- 18 http://opera.yaske.com/index.php?User JavaScript/特定ページをカスタムするUserJS
- 15 http://d.hatena.ne.jp/keyword/電気の恋人
- 11 http://b.hatena.ne.jp/entry/http://www.aoky.net/articles/jeff_atwood/why_cant_programmers_program.htm
- 11 http://d.hatena.ne.jp/kskmeuk/
- 10 http://search.yahoo.co.jp/search?p=才能の無駄遣い&fr=top_v2&tid=top_v2&ei=euc-jp&search.x=1
- 8 http://d.hatena.ne.jp/keyworddiary/Perl?date=20070515
- 8 http://d.hatena.ne.jp/keyworddiary/Ruby