Here's my take. WYSIWYG, AJAX, and no libraries in two lines:
<iframe src="javascript:unescape('%3Cbody%20contentEditable%3E')" style="width: 500px; height: 500px"></iframe> <button onclick="var x=new XMLHttpRequest;x.open('POST','/update',1);x.setRequestHeader('Content-type','application/x-www-form-urlencoded');x.send(frames[0].innerHTML)">Save</button>
It's hairball.
Here's my take. WYSIWYG, AJAX, and no libraries in two lines:
On JSBin: http://jsbin.com/ebiju3 (don't try saving, there's no server part here!)