run |
return (function(){ with(document){
var _menu = 'color: menutext; background-color:menu';
var _div = div = createElement('div');
_div.style.cssText = [
'position: absolute; z-Index:999; left: 0px',
'top:'+ Math.max(body.scrollTop, documentElement.scrollTop) +'px',
'padding: 5px', _menu].join(';');
var _ifr = createElement('iframe');
_ifr.style.cssText = 'display: none; '+ _menu;
var _me = '_';
while(self[_me]) _me += _me;
return self[_me] = {
show: function(bmls){
var a = [];
for(var n in bmls) if(bmls.hasOwnProperty(n))
a.push(['<a href="javascript:', _me, '.load(', n , ')">',
bmls[n], '</a>'].join(''));
_div.innerHTML = a.join('\n');
var b = createElement('button');
b.innerHTML = 'x';
b.style.cssText = [
'vartical-align: middle; border: none',
'padding-left: 5px', _menu].join(';');
_div.appendChild(b).onclick = function(){ body.removeChild(_div) };
_div.appendChild(createElement('br'));
body.appendChild(_div).appendChild(_ifr);
},
load: function(id){
var s = createElement('script');
s.src = ['http://wedata.net/items/', id,
'.json?callback=', _me, '.run'].join('');
body.appendChild(s);
},
run: function(o){
var p = self.open;
self.open = this.open;
with(self) eval(o.data.run);
self.open = p;
},
open: function(url, nam, opt){ with(_ifr){
var m;
m = /width=(\d+)/.exec(opt);
if(m) width = +m[1];
m = /height=(\d+)/.exec(opt);
if(m) height = +m[1];
src = url;
style.display = 'block';
}}
}
}}())
|
sample |
javascript:({id:2272,list:{2270:'Eijiro',2271:'delicious',2275:'Hatebu'},d:document,f:'_f',_:function(s){with(this){self[f+=id]=function(o){Function(o.data.run)().show(list)};s=d.createElement('script');s.src='http://wedata.net/items/'+id+'.json?callback='+f;d.body.appendChild(s)}}}._()) |