User:John doe 120/vector.js

From mediawiki.org

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.
function addDateCreated() {
	var url = window.location.href;
	//if (!/^https:\/\/en\.wikipedia\.org\/wiki\/.*/.test(url))
	//	return;
	var element = document.getElementById('t-info');
	if (element === null || element.childElementCount === 0)
		return;
	element = element.children[0];
	if (element.tagName.toLowerCase() != 'a')
		return;
	url = element.href;
	if (!/^https:\/\/www\.mediawiki\.org\/w\/index\.php\?title=.*?&action=info$/.test(url))
		return;
	var oReq = new XMLHttpRequest();
	function reqListener () {
		var text = this.responseText;
		var match = text.match(/mw-pageinfo-firsttime">.*?<a.*?>(.*?)</);
		if (match === null) return;
		var datetime = match[1];
		element.title += ' ' + datetime;
		var date = Date.parse(datetime);
		if (isNaN(date)) return;
		date = new Date().getTime() - date;
		date /= 1000*3600*24*365.25;
        var nFormat = new Intl.NumberFormat('en-US', { minimumFractionDigits: 4});
		element.title += ' ' + nFormat.format(date) + ' Julian years';
		match = text.match(/mw-pageinfo-lasttime">.*?<a.*?>(.*?)</);
		if (match === null) return;
		datetime = match[1];
		element.title += '. Last modified: ' + datetime;
	}
	oReq.addEventListener("load", reqListener);
	oReq.open("GET", url);
	oReq.send();
}
addDateCreated();