Utilisateur:Sapindnoel/Gadget-webChat.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) ;
Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5./*
* Gadget "WebChat en iframe"
* Ajoute un webchat irc sur une page.
* Licence : Domaine publique
* Inspiré du gadget de Romainhk
*/
function webChat(src_iframe, id_emplacement) {
var ifr = document.createElement('iframe');
ifr.src = src_iframe;
var bc = document.getElementById(id_emplacement);
if (bc.hasChildNodes()) {
return null;
}
bc.appendChild(ifr);
return ifr;
}
// Ajax qui va récupérer le nombre de connectés calculé par le bot IRC
function recup_connectes(cible) {
var R = new XMLHttpRequest();
R.onreadystatechange = function() {
if( !(R.readyState == 4) ) return;
//alert('ok:'+R.responseText);
cible.innerHTML = R.responseText.substring(0,1);
}
R.open("GET", "http://toolserver.org/~romainhk/chan_adl", true);
R.send(null);
}
if (mw.config.get('wgPageName').match(/Wikipédia:Atelier_de_lecture\/IRC/)) {
var ifr = webChat(
"http://webchat.freenode.net?nick="
+mw.config.get('wgUserName').replace(/ /,"_")
+"&channels=ADL&uio=Mj10cnVlJjQ9dHJ1ZSY5PXRydWUmMTE9MzEb0",
"webchat");
if (ifr) {
ifr.style.width = '95%';
ifr.style.height = '300px';
ifr.style.marginBottom = '1ex';
ifr.style.marginRight = '1em';
}
// Nombre de connectés
var div = document.createElement('div');
div.setAttribute("style", 'float:left;');
div.style.width = '1em';
div.style.height = '300px';
recup_connectes(div);
ifr.parentNode.appendChild(div);
}
if (mw.config.get('wgPageName').match(/Utilisateur:Sapindnoel\/Bac_à_sable_5/)) {
var ifr = webChat(
"http://webchat.freenode.net?nick="
+mw.config.get('wgUserName').replace(/ /,"_")
+"&channels=wikimag&uio=Mj10cnVlJjQ9dHJ1ZSY5PXRydWUmMTE9MzEb0",
"webchat");
if (ifr) {
ifr.style.width = '95%';
ifr.style.height = '300px';
ifr.style.marginBottom = '1ex';
ifr.style.marginRight = '1em';
}
// Nombre de connectés
var div = document.createElement('div');
div.setAttribute("style", 'float:left;');
div.style.width = '1em';
div.style.height = '300px';
recup_connectes(div);
ifr.parentNode.appendChild(div);
}