Utilisateur:Dr Brains/FluxRecentchangeslinkedDeluxe.js
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;
Firefox (sur GNU/Linux) / Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.function GetFluxInfos(Cat){
var NouvelleRequete = new XMLHttpRequest();
var AdresseRequete = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=Special:Recentchangeslinked/Category:' + Cat + '&feed=atom&target=Category:' + Cat;
NouvelleRequete.open("GET", AdresseRequete, true);
NouvelleRequete.onreadystatechange = function() {
if(NouvelleRequete.readyState != 4) return;
var Temp = document.createElement('div');
Temp.style.display = "none";
Temp.innerHTML = NouvelleRequete.responseText;
document.body.appendChild(Temp);
var InfoArray = ManageFluxInfos(document.getElementById('feedContent'));
Temp.parentNode.removeChild(Temp);
DisplayFluxInfos(InfoArray);
}
NouvelleRequete.send(null);
}
function ManageFluxInfos(feedContent){
if(!feedContent) return;
var InfoArray = new Array();
var Info = feedContent.firstChild;
while(Info){
if($(Info).hasClass("entry")){
try{
var Title = Info.getElementsByTagName('h3')[0];
var Page = Title.getElementsByTagName('a')[0];
var PageURL = Page.href;
var PageTitle = Page.innerHTML;
var Diff = false;
var Oldid = false;
var Params = decodeURIComponent(PageURL).split('&');
for(var a=0,l=Params.length;a<l;a++){
if(Params[a].indexOf("diff=")!=-1){ Diff = Params[a].split('=')[1]; }
if(Params[a].indexOf("oldid=")!=-1){ Oldid = Params[a].split('=')[1]; }
}
var Timestamp = Title.getElementsByTagName('div')[0].innerHTML;
var Content = Title.nextSibling;
var Comment = Content.getElementsByTagName('p')[0].textContent;
InfoArray[InfoArray.length] = {"url":PageURL, "title":PageTitle, "diff":Diff, "oldid":Oldid, "timestamp":Timestamp, "comment":Comment };
}catch(e){ }
}
Info = Info.nextSibling;
}
return InfoArray;
}
function DisplayFluxInfos(InfoArray){
}