ブックマークレット作法
今や少し複雑なブックマークレットは外部から読み込むのが当たり前になり,gist やら coderepos やらのおかげで置く場所にも困らない。*1
この際の書き方は人によって結構まちまちだが,やることは同じなのだから「これコピペすれば FA」的なテンプレがあってもいいはずと考え,模索してみた。
成果物
javascript:'{name}',['http://a.b.com/0.js','http://l.m.net/1.js',function(d,i,e){for(i=this.length;--i;d.body.appendChild(e))e=d.createElement('script'),e.src=this[i],e.charset='utf-8'}].reverse()[0](document)
例
http://labs.gmo.jp/blog/ku/2008/04/wedatasiteinfofirefox_autopagerize_iteration_detector.html
javascript:'AutoPagerizeIDE',['http://gist.github.com/33794.txt',function(d,i,e){for(i=this.length;--i;d.body.appendChild(e))e=d.createElement('script'),e.src=this[i],e.charset='utf-8'}].reverse()[0](document)
javascript:'Jash+jQuery1.3.1',['http://www.billyreisinger.com/jash/source/latest/Jash.js','http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js',function(d,i,e){for(i=this.length;--i;d.body.appendChild(e))e=d.createElement('script'),e.src=this[i],e.charset='utf-8'}].reverse()[0](document)
+
未使用変数を消去。最初こう書いてて
javascript:'{name}',['http://a.b.com/0.js','http://l.m.net/1.js',function(d,i,e,s){for(;s=this[++i];d.body.appendChild(e))e=d.createElement('script'),e.src=s,e.charset='utf-8'}].reverse()[0](document,0)
後ろから追加するのは直感に反するかもとひっくり返したときにゴミが残った。
+
上で強調しきれてないが,先頭に名前を置くやり方だけでも流行ってほしい。
パッと見で何をするものか判ったほうがいいに決まっているので。
javascript:/*ReverseStatuses*/void($('#timeline_body').append([].reverse.call($('tr.status'))))
コメントでもいいし
javascript:ClimbLocation:with(location)void(hash?hash='':search?search='':href=/\/$/.test(href)?'..':'.')
ラベルにしてみるとか*3
javascript:(function(R,E,P,L){while(P=prompt(R,E))try{R=eval(E=P)}catch(L){R=L}}('REPL',''))
こんな手も。