wedata

Database: bookmarklet

Item Details: lister

run new function(_name, _iframe){ with(document){ return self[_name = '_lister_'] = { name: _name, css: { a: 'margin: 0px 2px; text-decoration: none', div: 'padding: 4px 0px 1px 2px', iframe: 'border: none', shared: 'color: menutext; background-color: menu' }, div: null, iframe: null, show: function(ls){ with(this){ div = create('div', ['position: absolute; z-index: 999; left: 0px', css.div, css.shared].join(';')); iframe = _iframe = create('iframe', ['display: none', css.iframe, css.shared].join(';')); var r = /^(.+?)\D?(\d+)$/, csa = css.a +';'+ css.shared; for(var m, i = 0, l = ls.length; i < l; ++i) div.appendChild((m = r.exec(ls[i])) ? create('a', csa, m[1], {href: ['javascript:', _name, '.load(', m[2], ')'].join('')}) : createTextNode(ls[i] || '|')); div.appendChild(create('a', csa, '[x]', {href: '#'})).onclick = function(){ return !body.removeChild(div) }; div.appendChild(createElement('br')); body.appendChild(div).appendChild(iframe); var sticker = function(){ div.style.top = Math.max(body.scrollTop, documentElement.scrollTop) +'px'; }; sticker(); listen(document, 'scroll', sticker); return this; }}, script: function(path){ var s = createElement('script'); s.src = path; body.appendChild(s); }, load: function(id){ this.script(['http://wedata.net/items/', id, '.json?callback=', _name, '.run'].join('')); }, run: function(o){ with({open: this.open}) eval(o.data.run) }, open: function(url, nam, opt){ with(_iframe){ var m = /\bwidth\s*=\s*(\d+)/.exec(opt); if(m) width = +m[1]; m = /\bheight\s*=\s*(\d+)/.exec(opt); if(m) height = +m[1]; src = url; name = contentWindow.name = nam; style.display = 'block'; return contentWindow; }}, listen: body.attachEvent ? function(elm, evn, fun){ elm.attachEvent('on'+ evn, fun) } : function(elm, evn, fun){ elm.addEventListener(evn, fun, false) }, create: function(tag, css, txt, atr){ var e = createElement(tag); if(css) e.style.cssText = css; if(txt) e.innerHTML = txt; for(var a in atr) if(atr.hasOwnProperty(a)) e[a] = atr[a]; return e; } } }}
sample javascript:({id:2272,ls:['eijiro:2270','thesaurus:2285',,'delicious:2271','hatebu:2275',,'deleter:2284'],cb:'_f',d:document,_:function(s){with(this){self[cb+=id]=function(o){eval(o.data.run).show(ls)};s=d.createElement('script');s.src='http://wedata.net/items/'+id+'.json?callback='+cb;d.body.appendChild(s)}}}._())

History

Back