User:Js/diffs

Multifunctional diffs handling script with two main features:

Diff text improvements:
 * single colums are made 100% wide,
 * [] and are made into normal clickable links,
 * new ==headers== are emphasized
 * new users remarks are separated from each other with slightly different green backgrounds

Diff popups are shown when you click on diff links, requesting diff content with Ajax, saving time and traffic. Especially convenient for checking diffs from the watchlist.

More info
These buttons are added to each diff:
 * "Restore original" removes all improvements
 * "Highlight diffs" marks all changed pieces with red border: use it to find that little added dot.
 * "JS diff" loads "JS comparison engine" from User:Cacycle/diff.js and displays the same diff in a different way, similar to wikEdDiff (mentioned below), but using already generated diff info.

Some additional features:
 * On normal diff pages "next/previous" links also use Ajax, loading only the essential diff part, without all the menus.
 * Pressing left and right arrow keys follows "next/previous" links both on diff pages and diff popups.
 * When diff popups are enabled, all diff links appear as italic (except in IE6) so they are easy to find; after they are clicked, they are marked with bluish background.

Parameters
These parameters allow you to disable most parts of the script, leaving only the ones that you like:
 * disables wiki parsing inside diffs
 * disables diff popups
 * disables ajax loading on normal diff pages
 * disables arrow keys

Similar scripts

 * Navigation popups script can also be used to quickly check diffs using a popup window. Note that it doesn't use MediaWiki generated diff at all, instead it requests both page version from server and then compares them using internal JS diff engine. The result is quite often is more readable, but in most cases uses more traffic.
 * User:Cacycle/wikEdDiff also uses internal JS diff engine and also requests both page versions from the server.
 * See section WikiProject User scripts/Scripts.