miya2000さんの「ブックマークレットの状態を保存する」を再実装してみる
javascript:(
function(t){
var
l = "addEventListener"
,c = "childNodes"
,g = "createElement"
,p = "appendChild"
,z = "replace"
,m = arguments.callee
,d = document
,b = d.body
,v = d[g]("div")
,a = d[g]("a")
,h = d[g]("textarea")
,s = v.style
,f = false
,x
,y
,r = function(){
a.href = "javascript:(" +
m.toString() +
")(\"" +
v[c][0].value
[z](/\\/ig,"\\\\")
/*[z](/\b/ig,"\\b")*/
[z](/\f/ig,"\\f")
[z](/\n/ig,"\\n")
[z](/\r/ig,"\\r")
[z](/\t/ig,"\\t")
[z](/'/ig,"\\'")
[z](/"/ig,"\\\"") +
"\")"
}
;
s.cssText="width:30em;padding:5px;position:absolute;top:20px;left:20px;background-color:white;border:black solid 1px;cursor:move;z-index:99";
h.style.cssText="width:100%;height:7em;display:block";
a.innerHTML="Bookmarklet";
b[p](v);
v[p](h);
v[p](a);
h[l]("click",r,0);
h[l]("keyup",r,0);
h[l]("change",r,0);
v[l]("dblclick",function(){b.removeChild(v)},0);
v[l]("mousedown",function(e){f=true;x=e.pageX-v.offsetLeft;y=e.pageY-v.offsetTop},0);
d[l]("mousemove",function(e){if(f){s.left=e.pageX-x+"px";s.top=e.pageY-y+"px"}},0);
d[l]("mouseup",function(){f=false},0);
h.value=t
}
)("")
追記(2007/10/01)
e="createElement"; -> g="createElement";