I use this as a JavaScript snippet or bookmarklet in Chrome to turn the current blank tab into an offline text-editor which stores what I write in localStorage. The < 140 character version can be run via console.
The simplest version that you can add as a bookmarklet:
(function(d){l=localStorage,k='c',q=d.body;q.contentEditable=true;q.innerHTML=l[k]||'';q.onkeyup=function(){l[k]=q.innerHTML;}})(document);
A demo version of this is available on JSBin.
And this time actually including var
:
javascript:(function(d){var l=localStorage,k='c',q=d.body;q.contentEditable=true;q.innerHTML=l[k]||'';q.onkeyup=function(){l[k]=q.innerHTML;}})(document);
Or using oninput
, which also works fine and should catch paste etc:
javascript: (function(d){l=localStorage,k='c',q=d.body;q.contentEditable=true;q.innerHTML=l[k]||'';q.oninput=function(){l[k]=q.innerHTML;}})(document);
Prettier version of the implementation using document.write
(hah) to write over any existing tab content, gives you some styling too:
javascript:(function(d){d.write('<body contenteditable style="font: 2rem/1.5 monospace;max-width:60rem;margin:0 auto;padding:4rem;">');var k = 'c'; var q = d.querySelector('body');q.innerHTML=localStorage[k];q.onkeyup=function(){localStorage[k]=q.innerHTML;}})(document);