Please remember that WiKirby contains spoilers, which you read at your own risk! See our general disclaimer for details.
MediaWiki:Gadget-RecentChangesRefresh.js: Difference between revisions
From WiKirby, your independent source of Kirby knowledge.
Jump to navigationJump to search
m (1 revision imported) |
m (1 revision imported: autorefresh tab) |
(No difference)
|
Revision as of 04:16, 8 April 2020
// 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(' <span style="position:absolute; margin-left:10px;"><span style="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"><span style="position:relative; left:5px;" id="autoRefreshProgress"><img src="/images/loader.gif" border="0" alt="AJAX operation in progress" /></span></span>'); $('#autoRefreshToggle').click(function () { setCookie('ajaxRC', $('#autoRefreshToggle').prop('checked') ? 'on' : 'off', 365); 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 (x in ajaxPages) { if (mw.config.get('wgPageName') == ajaxPages[x] && $('#autoRefreshToggle').length == 0) ajaxRC(); } } });