MediaWiki:Gadget-RecentChangesRefresh.js: Difference between revisions
From SmashWiki, the Super Smash Bros. wiki
Jump to navigationJump to search
(New Page: // ================== // Auto-refresh recent changes // Code courtesy of pcj of WoWWiki // ================== function setCookie(c_name, value, expiredays) { var exdate = new Date();...) |
No edit summary |
||
Line 37: | Line 37: | ||
if (getCookie("ajaxRC") == "on" || ajaxRCOverride) { | if (getCookie("ajaxRC") == "on" || ajaxRCOverride) { | ||
$("#autoRefreshToggle").attr("checked", "checked"); | $("#autoRefreshToggle").attr("checked", "checked"); | ||
setTimeout( | setTimeout(loadRCData, rcRefresh); | ||
} | } | ||
} | } | ||
Line 47: | Line 47: | ||
$(article + " .mw-collapsible").makeCollapsible(); | $(article + " .mw-collapsible").makeCollapsible(); | ||
$('#autoRefreshProgress').hide() | $('#autoRefreshProgress').hide() | ||
if ($("#autoRefreshToggle").is(":checked")) setTimeout( | if ($("#autoRefreshToggle").is(":checked")) setTimeout(loadRCData, rcRefresh); | ||
}); | }); | ||
} | } |
Revision as of 23:41, January 22, 2019
// ==================
// Auto-refresh recent changes
// Code courtesy of pcj of WoWWiki
// ==================
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 "";
}
var ajaxPages = new Array("Special:RecentChanges");
var ajaxRCOverride = false;
var rcRefresh = 30000;
function ajaxRC() {
appTo = $(".firstHeading");
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").is(":checked") ? "on" : "off")
loadRCData()
});
$("#autoRefreshProgress").hide();
if (getCookie("ajaxRC") == "on" || ajaxRCOverride) {
$("#autoRefreshToggle").attr("checked", "checked");
setTimeout(loadRCData, rcRefresh);
}
}
function loadRCData() {
if (!$("#autoRefreshToggle").is(":checked")) return;
$('#autoRefreshProgress').show()
$(article).load(location.href + " " + article + " > *", function (data) {
$(article + " .mw-collapsible").makeCollapsible();
$('#autoRefreshProgress').hide()
if ($("#autoRefreshToggle").is(":checked")) setTimeout(loadRCData, rcRefresh);
});
}
$(function () {
article = "#bodyContent";
for (x in ajaxPages) {
if (mw.config.get('wgPageName') == ajaxPages[x] && $("#autoRefreshToggle").length == 0) ajaxRC();
}
});