jsdifflib is a Javascript library that provides:
Some years ago, I needed a good in-browser visual diff tool, and couldn’t find anything suitable. So, I built jsdifflib in 2007 and open-sourced it soon thereafter.
It's apparently been used a fair bit by others, even though I cruelly sequestered it on one of Snowtide's web servers for years (sorry, but Github wasn't around and I had little patience for SourceForge). I've promised to put the source somewhere more useful many times, but have unfortunately only just gotten around to it today: jsdifflib is now on github.
I've not used the library in some time, but it still works well enough. Send in your patches if you have 'em.