The wiki is lacking in content. You can help by creating a new article. See the to do list for more ways you can help.

New user registration has been restored. Thank you for your patience.

Welcome Indie Wiki Jammers! Check out here for info on the jam

MediaWiki:Gadget-RecentChangesRefresh.js

From Final Fantasy Wiki
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)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
// Auto-refresh recent changes
// Code courtesy of pcj of WoWWiki

var rcRefresh = 30000;
var ajaxRCOverride = false;
var ajaxPages = new Array('Special:RecentChanges');

function setCookie(c_name, value, expiredays) {
	var exdate = new Date();
	exdate.setDate(exdate.getDate() + expiredays);
	document.cookie = c_name + '=' + escape(value) + ((expiredays === null) ? '' : ';expires=' + exdate.toGMTString());
}

function getCookie(c_name) {
	if (document.cookie.length > 0) {
		c_start = document.cookie.indexOf(c_name + '=');
		if (c_start != -1) {
			c_start = c_start + c_name.length + 1;
			c_end = document.cookie.indexOf(';', c_start);
			if (c_end == -1) c_end = document.cookie.length;
			return unescape(document.cookie.substring(c_start, c_end));
		}
	}
	return '';
}

function ajaxRC() {
	$(appTo).append('&nbsp;<span style="position:absolute; margin-left:10px"><span style="font-family:sans-serif; font-size:xx-small; cursor:help" title="Automatically refresh the current page every ' + Math.floor(rcRefresh / 1000) + ' seconds">AUTO-REFRESH:</span><input type="checkbox" id="autoRefreshToggle" style="margin-left:5px"><span style="position:relative; left:5px" id="autoRefreshProgress"><img src="https://kh.wiki.gallery/images/loader.gif" border="0" alt="AJAX operation in progress" /></span></span>');
	$('#autoRefreshToggle').click(function () {
		setCookie('ajaxRC', $('#autoRefreshToggle').prop('checked') ? 'on' : 'off', 999);
		loadRCData();
	});
	$('#autoRefreshProgress').hide();
	if (getCookie('ajaxRC') == 'on' || ajaxRCOverride) {
		$('#autoRefreshToggle').prop('checked', true);
		setTimeout(loadRCData, rcRefresh);
	}
}

function loadRCData() {
	if (!$('#autoRefreshToggle').prop('checked')) return;
	$('#autoRefreshProgress').show();
	$(article).load(location.href + ' ' + article + ' > *', function (data) {
		$(article + ' .mw-collapsible').makeCollapsible();
		$('#autoRefreshProgress').hide();
		if ($('#autoRefreshToggle').prop('checked')) setTimeout(loadRCData, rcRefresh);
	});
}

$(function() {
	if (!document.getElementsByClassName('mw-rcfilters-enabled')[0]) {
		article = '#bodyContent';
		appTo = '.firstHeading';
		for (var x in ajaxPages) {
			if (mw.config.get('wgPageName') == ajaxPages[x] && $('#autoRefreshToggle').length === 0) ajaxRC();
		}
	}
});