User:Gerbrant/edit/linksInDiff.js

From OpenWetWare
Revision as of 14:33, 26 July 2009 by Bill Flanagan (talk | contribs) (1 revision)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
hookEvent("load", function()
{
	var d = document.getElementById("wikiDiff"), i, t;
	if(!d && document.getElementById("difference"))
		d = document.getElementById("bodyContent");
	if(d)
	{
		d = d.getElementsByTagName("TABLE").item(0);
		if(d && d.className == "diff")
		{
			d = d.getElementsByTagName("TD");
			for(i = 0; i < d.length; i++)
			{
				t = d.item(i);
				switch(t.className)
				{
				case "diff-context":
				case "diff-deletedline":
				case "diff-addedline":
					t.innerHTML = t.innerHTML.replace(/\[\[((.*?)(?:\|.*?)?)\]\]/g,	function(a, b, p)
					{
						var h = /<[^>]*>/g;
						var o = '<a href="' + wgArticlePath.replace("$1", p.replace(h, "")) + '">';
						var c = '</a>';
						return "[[" + o + b.replace(h, c + "$&" + o) + c + "]]";
					});
				}
			}
		}
	}
});