Aide:Personnaliser l'interface/Fonctions avancées
Cette page constitue une liste non exhaustive des principales fonctions ajoutées au monobook JavaScript (monobook.js
), ainsi que des personnalisations du monobook CSS (monobook.css
) qui leur sont complémentaires. Ces fonctions modifient significativement l'interface de Wikipédia dans des buts précis et peuvent ralentir le chargement des pages.
Procédure à suivre :
- Éditer la page Utilisateur:Votre_nom_d'utilisateur/monobook.js (ou Utilisateur:Votre_nom_d'utilisateur/monobook.css le cas échéant)
- Copier le bout de code désiré dans cette page
- Sauver et « recharger » (voir les instructions au sommet de la page)
En cas de problèmes, analyser les messages d'erreurs affichés dans console JavaScript de votre navigateur Web. Rechercher celles qui affichent « monobook », elles donnent des indices sur les problèmes rencontrés par le navigateur. Si vous avez l'âme d'un développeur, essayez (en) Firebug avec Firefox pour trouver le problème. Si rien ne fonctionne, contactez l'auteur du script :).
→ Pour une explication plus détaillée du monobook et obtenir des scripts basiques, consultez Aide:Monobook.
→ Pour apprendre à personnaliser le monobook, consultez Aide:Personnaliser monobook
→ Une liste de fonctions plus complète est disponible sur la page Projet:JavaScript/Liste des fonctions disponibles
Aide • Exemples |
Fonctions avancées |
Apparence Vector |
Apparence Timeless |
Projet:Scripts et gadgets |
(en) User styles |
common.css personnel |
Common.css commun |
Monobook.css commun |
Vector.css commun |
(en) Catalogue of classes |
Index des propriétés CSS2 |
common.js personnel |
Common.js commun |
Fonctions JavaScript |
Pour tout contributeur
[modifier | modifier le code]Liste de suivi améliorée
[modifier | modifier le code]Gestion améliorée
[modifier | modifier le code]Pour un nettoyage rapide de la liste de suivi ! Permet de cocher à sa place les différents espaces de noms et bien plus encore. Sélection automatique des liens rouges, possibilité de définir ses propres expressions rationnelles pour sélectionner par exemple les sous-pages du bistro, toutes les images, etc.
Le tout via la page Special:Watchlist/edit.
obtenir("OptimizedSuivi");
Le code se trouve sur MediaWiki:JSScripts/OptimizedSuivi (d · h · j · ↵).
Annuler plus facilement un suivi
[modifier | modifier le code]Script de Dake : option affichage amélioré de la liste de suivi désactivée
[modifier | modifier le code]- Auteur : Dake
Testé avec MediaWiki 1.6a - Ne fonctionne pas si "Utiliser l'affichage amélioré de la liste de suivi (certains navigateurs seulement)" est précédemment activé dans les préférences. Pour avoir les deux fonctions, 1) désactiver l'"affichage amélioré" dans les préférences 2) installer le script de Dake dans le monobook 3) réactiver l'"affichage amélioré" dans les préférences.
Dans la liste de suivi, il faut passer par afficher et modifier la liste complète pour enlever un seul suivi. Avec ce script, un lien (stop) est ajouté à gauche de (diff) (hist) dans la liste de suivi (une fois la page complètement chargée). Un clic sur le lien et l'article est retiré de la liste. Cela est particulièrement utile si le suivi automatique a été activé dans les préférences.
function insertAfter(parent, node, referenceNode) { parent.insertBefore(node, referenceNode.nextSibling); } function OptimizedSuivi() { if (document.URL.indexOf("http://fr.wikipedia.org/wiki/Special:Liste_de_suivi")==0 || document.URL.indexOf("http://fr.wikipedia.org/w/index.php?title=Special:Liste_de_suivi")==0 ){ var admin = (wgUserGroups.indexOf("sysop") != -1); var allDays = document.getElementsByTagName("ul"); for (i=0; i<allDays.length; i++) { if (allDays[i].getAttribute("class") == "special") { var artList = allDays[i].getElementsByTagName("li"); for (j=0; j<artList.length; j++) { var elem = artList[j]; var aTag = elem.getElementsByTagName("a"); var articleName = aTag[0].getAttribute("title"); var ma = articleName.match(/^Special:Log\/(.*)$/); if(ma) { var lien; if(ma[1] == "newusers") lien = aTag[1]; else if(admin) lien = aTag[5]; // lien supplémentaire (bloquer) else lien = aTag[4]; if(lien.className == "new") articleName = lien.title.replace(/ \(page inexistante\)$/, ""); else articleName = lien.title; } var stopWatch = "/w/index.php?title=" + articleName + "&action=unwatch" var newElement = document.createElement("a"); newElement.setAttribute("href",stopWatch); var newText = document.createTextNode("stop"); newElement.appendChild(newText); var newPar = document.createTextNode(") (") // séparation des cas (nouvel article, ou déjà existant) if (aTag[0].childNodes[0].data == "diff") { insertAfter(elem, newPar, aTag[1]); } else { insertAfter(elem, newPar, aTag[0]); } insertAfter(elem, newElement, newPar); } } } } } addOnloadHook(OptimizedSuivi);
Script de Seb35 : option affichage amélioré de la liste de suivi activée
[modifier | modifier le code]Fonctionne avec MediaWiki 1.6a - uniquement sous Opera - rajoute un lien (stop) à la liste de suivi lorsque l'affichage amélioré est activé.
/************************************************************/ /* Ajoute un bouton stop à la liste de suivi */ /* pour suivi amélioré activé, sinon voir le script de Dake */ /* Ne marche que sur Opera, voir texte */ /* Auteur : Seb35 */ /************************************************************/ function suivi_main() { if(!/Special:Watchlist/i.test(window.location) || /edit/i.test(window.location)) return; var allLinks = document.getElementById('bodyContent').getElementsByTagName('a'); var i=0; for(; i<allLinks.length && allLinks[i].getAttribute('title') != 'Special:Watchlist'; i++); i+=9; for(; i<allLinks.length; i+=7) { while(allLinks[i].parentNode.getAttribute('class') == 'comment' || allLinks[i].parentNode.getAttribute('class') == 'autocomment') i++; var titre = allLinks[i].getAttribute('title'); if(allLinks[i+1].text != 'diff') i--; allLinks[i+2].insertAdjacentHTML('afterEnd', '; <a href="/https/fr.wikipedia.org/w/index.php?title=' + titre + '&action=unwatch" title="' + titre + '">stop</a>'); if(/Contributions/i.test(allLinks[i+4])) i--; } } addOnloadHook(suivi_main);
Édition améliorée
[modifier | modifier le code]Ajout de boutons pour commenter les modifications courantes
[modifier | modifier le code]Attention, une apostrophe dans une ligne empêche cette ligne de fonctionner.
obtenir("ResumeDeluxe");
Le code se trouve sur MediaWiki:JSScripts/ResumeDeluxe (d · h · j · ↵).
Ajout d'icônes à la barre d'édition
[modifier | modifier le code]obtenir("DeluxeBar");
Le code se trouve sur MediaWiki:JSScripts/DeluxeBar (d · h · j · ↵).
Pour d'autres icônes disponibles consultez la catégorie de Commons ButtonToolbar.
Ajouter un bouton pour éditer le premier paragraphe d'une page
[modifier | modifier le code]obtenir("EditZeroth");
Le code se trouve sur MediaWiki:JSScripts/EditZeroth (d · h · j · ↵).
Navigation améliorée
[modifier | modifier le code]onglet de purge
[modifier | modifier le code]Ce script permet d'ajouter un onglet dont l'usage rafraîchit la page en cours de lecture, c'est-à-dire vide du cache la page en question et lance son chargement.
obtenir("OngletPurge");
Le code se trouve sur MediaWiki:JSScripts/OngletPurge (d · h · j · ↵).
Navigation popups
[modifier | modifier le code]Ce code charge un script - en évolution - permettant lorsque l'on passe le pointeur de la souris sur un lien interne d'afficher dans une fenêtre popups le premier paragraphe de la page concernée ainsi que des liens, entre autres, vers son historique et un ajout dans la liste de suivi.
Voir Navigation popups pour le manuel d'utilisation en français.
Voir popups-strings-fr.js pour la traduction en français.
document.write('<script type="text/javascript" src="' + 'http://fr.wikipedia.org/w/index.php?title=User:Leag/popups-strings-fr.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
Pour ceux qui souhaite mettre le résumé de leur choix lors d'une révocation, il faut ajouter ceci :
popupRevertSummaryPrompt=true;
Pour les administrateurs, n'oubliez pas d'ajouter cette ligne juste après le code ci-dessus pour que les fonctions spécifiques aux administrateurs soient présentes dans le menu :
popupAdminLinks=true;
Ajout d'un nombre réduit de liens internes dans la boîte de navigation
[modifier | modifier le code]- Auteur : Dake
Testé avec MediaWiki 1.6a
function OptimizedNavig() { var a = document.getElementById("p-navigation"); if (a) { b = a.getElementsByTagName("ul"); if(b.length > 0) { var startUrl = '/w/index.php?title=' var endUrl = '&action=purge' // liste des URLs var urls = new Array() urls[0] = 'Wikipédia:Le Bistro' urls[1] = 'Wikipédia:Pages à supprimer' urls[2] = 'Wikipédia:Proposition articles de qualité' urls[3] = 'WP:BOT' urls[4] = 'Special:Newimages' urls[5] = 'Special:Newpages' urls[6] = 'Special:Blockip' urls[7] = 'Special:Log/delete' urls[8] = 'Special:Unusedcategories' urls[9] = 'Special:Export' var labels = new Array() labels[0] = 'Bistro' labels[1] = 'PàS' labels[2] = 'pAdQ' labels[3] = 'Bots' labels[4] = 'nImgs' labels[5] = 'nPage' labels[6] = 'Block' labels[7] = 'Log/Del' labels[8] = 'unCat' labels[9] = 'Export' for (var i=0;i<urls.length;i+=2) { tableHTML = '<table valign="top" cellspacing="0" cellpadding="0">' tableHTML += '<tr>' tableHTML += '<li><td><a href="' + startUrl + urls[i] + endUrl + '">' + labels[i] + ' | </a></td>' tableHTML += '<td><a href="' + startUrl + urls[i+1] + endUrl + '">' + labels[i+1] + '</a></td></li>' tableHTML += '</tr>' tableHTML += '</table>' b[0].innerHTML = b[0].innerHTML + tableHTML } } } } addOnloadHook(OptimizedNavig);
Menu déroulant pour la boîte de navigation
[modifier | modifier le code]- Auteur : Seb35
Fonctionne avec MediaWiki 1.6a - Opera - Firefox - IE - Ce script permet de faire des menus déroulants pour mettre beaucoup de liens dans la boîte de navigation (jusqu'à 40-50 sans problèmes je pense). Si vous ne voulez pas mettre de menus déroulants ou que vous avez moins de 7 liens à mettre, il vaut mieux utiliser le script ci-dessus.
J'ai paramétré un petit truc pour que le menu s'ouvre quand la souris reste (ici 300 ms) sur le lien, par contre ça ne marche pas avec IE. Sinon pour tous les navigateurs, on peut ouvrir un menu en cliquant dessus.
/******************************************/ /* Amélioration de la boîte de navigation */ /* Auteur : Seb35 */ /* Bistro d'aujourd'hui par Teofilo */ /******************************************/ var isOpen = new Array(); var tempo; function navigationBox_main() { a = document.getElementById('p-navigation').getElementsByTagName('ul')[0]; m = new Array('janvier','février','mars','avril','mai','juin','juillet','août','septembre','octobre','novembre','décembre'); today = new Date(); jjmoisaa = today.getDate() + '_' + m[today.getMonth()] + '_' + today.getFullYear(); jjmm = today.getDate() + '/' + (today.getMonth()+1); //Tableau perso à remplir var pages = new Array( 'Général', new Array('/wiki/Wikipédia:Le_Bistro/' + jjmoisaa, 'Le Bistro ' + jjmm, '/wiki/Wikipédia:Vandalisme_en_cours', 'WP:-(', '/wiki/Wikipédia:Requête_aux_administrateurs', 'WP:RA' ), 'Maintenance', new Array('/w/index.php?title=Special:Recentchanges&hideliu=1&limit=200', 'RC IP', '/wiki/Wikipédia:Pages_à_fusionner', 'WP:PàF', '/wiki/Wikipédia:Pages_à_supprimer', 'WP:PàS' ) ); //Liens perso hors menu déroulant a.innerHTML = a.innerHTML + '<li><a href="/https/fr.wikipedia.org/wiki/Special:Newpages" title="Special:Newpages">Nouvelles pages</a></li>'; //----------------------------// //Ne pas modifier ce qui suit // //----------------------------// for(i = 0; i<(pages.length)/2; i++) { isOpen[i] = 0; temp = ''; for(j=0; j<(pages[2*i+1].length)/2; j++) temp += '<li><a href="' + pages[2*i+1][2*j] + '">' + pages[2*i+1][2*j+1] + '</a></li>'; a.innerHTML = a.innerHTML + '<li>' + '<a style="cursor:hand;" onMouseOver="if(!isOpen[' + i + ']) tempo = setTimeout(toggleMenu, 300, ' + (i+1) + ');" ' + 'onMouseOut="clearTimeout(tempo);" onClick="clearTimeout(tempo); toggleMenu(' + (i+1) + ');" title="' + pages[2*i] + '">' + pages[2*i] + '</a>' + '</li>' + '<div id="MenuToggle' + (i+1) + '" style="display:none;">' + temp + '</div>'; } } /************************************************/ /* Ouvre un menu créé par la fonction ci-dessus */ /************************************************/ function toggleMenu(v) { if(isOpen[v-1] == 0) { document.getElementById('MenuToggle' + v).style.display = 'block'; isOpen[v-1] = 1; } else if(isOpen[v-1] == 1) { document.getElementById('MenuToggle' + v).style.display = 'none'; isOpen[v-1] = 0; } } addOnloadHook(navigationBox_main);
Navigation par onglet
[modifier | modifier le code]Ce code charge un script - en évolution - permettant d'afficher des articles dans des onglets.
- Auteur : Oz
- Testé sur : Firefox et IE6
- Page de discussion : Discussion sur "Navigation par onglet"
- Le manuel d'utilisation pourra être trouvé ici
Attention : Il est recommandé de n'utiliser cette fonctionnalité que pour des modèles ou des pages personnelles, en aucun cas pour des articles.
Une fois connecté à votre compte, rajoutez le code suivant à votre fichier Utilisateur:Votre_nom_d'utilisateur/monobook.js
// ============================================================= // function wikipedia tabber // ============================================================= document.write('<script type="text/javascript" src="' + 'http://fr.wikipedia.org/w/index.php?title=User:Oz/tab.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
<!-- Default if javascript do not work ---------------------> <div class="MyDefaultTabArea"> {{Utilisateur:Oz/AccueilActualite|{{CURRENTMONTHNAME}}}} </div> <!-- Tabs, just add a wiki link for each one --------------> <div class="MyTabArea" style="visibility:hidden;display:none"> * [[Utilisateur:Oz/AccueilActualite|{{CURRENTMONTHNAME}}]] * [[Utilisateur:Oz/Bande dessinée/Actualité|BD]] * [[Utilisateur:Oz/Robotique/Actualité|Robotique]] * [[Utilisateur:Oz/Astronautique/Actualités|Astronautique]] </div>
Flèches vers le haut de page à côté des titres
[modifier | modifier le code]- Auteur : Marc Mongenet
function PageHomeArrows() { for (var level = 2; level <= 6; ++level) { var h = document.getElementsByTagName("h" + level); for (var i = 0; i < h.length; ++i) { var arrow = document.createElement("a"); arrow.appendChild(document.createTextNode(" ↑")); arrow.href = "javascript:window.scrollTo(0,0); void 0;"; h[i].appendChild(arrow); } } } addOnloadHook(PageHomeArrows);
Recherche améliorée
[modifier | modifier le code]Ajout d'un onglet lançant une recherche Google sur le nom de l'article
[modifier | modifier le code]Testé avec MediaWiki 1.6a - ajoute un onglet "Google" qui permet de lancer une recherche locale ou globale sur Google avec le nom de l'article comme mot-clé.
obtenir("OngletGoogle");
Le code se trouve sur MediaWiki:JSScripts/OngletGoogle (d · h · j · ↵).
Remplacement de la zone de recherche par une recherche avancée
[modifier | modifier le code]Fonctionne avec MediaWiki 1.6a - Opera - Firefox - IE
- Auteur : Seb35
Ce script permet de remplacer la zone de recherche (boutons Consulter et Rechercher) par une zone permettant de rechercher sur tous les wikis Wikimedia (Wikipédias, Wiktionnaires, Commons, etc) dans toutes les langues soit en allant directement à l'article (équivalent du bouton Consulter), soit de rechercher avec le moteur de recherche de MediaWiki (bouton Rechercher), soit de rechercher sur un wiki spécifique avec Google, soit sur toutes les Wikipédias avec Google, soit de rechercher un mot sur Google, soit de rechercher un texte avec Google (pour les copyrights). Il y a plusieurs raccourcis des espaces de nom (ex : c: ou cat: pour Catégorie:, u: pour Utilisateur:, article/pàs pour aller à la page de PàS correspondant à article, etc). On peut ouvrir la page soit dans un onglet externe (par défaut), soit dans le même onglet.
Si vous utilisez plutôt Firefox ou IE, il faut faire un peu de présentation sous IE, car les boutons sont tout petits, et changer les paramètres d'ouverture d'une fenêtre sous Firefox et IE.
Pour l'installer et le mémo d'utilisation, voir cette page.
Ajouter des liens vers Google/pages liées pour les liens rouges
[modifier | modifier le code]Version originale
[modifier | modifier le code]Fonctionne avec MediaWiki 1.6a - Opera - Ne marche qu'avec Opera - Ce script permet d'ajouter des liens (ici vers Google et les pages liées) aux liens rouges pour permettre de trouver si l'article existe sous une forme un peu différente (Google) ou si un article est très demandé ou pas (pages liées). Ici, le script n'affiche ces liens que en prévisualisation, mais on peut les garder tout le temps. Le script ne marche pas sous Firefox, ni sous IE.
/**************************************************************/ /* Ajoute deux liens sur les liens rouges en prévisualisation */ /* Ne marche que sur Opera, voir texte */ /* Auteur : Seb35 */ /**************************************************************/ function liensRouges_main() { if(!/\=submit/i.test(window.location)) return; //Retirer cette ligne pour afficher ces liens tout le temps, non uniquement en prévisualisation var allLinks = document.getElementById('bodyContent').getElementsByTagName('a'); for(i=0; i<allLinks.length; i++) { if(allLinks[i].getAttribute('class') == 'new') { titre = allLinks[i].getAttribute('title'); allLinks[i].insertAdjacentHTML('afterEnd', ' (' + '<a title="Rechercher \'' + titre + '\'" href="http://www.google.com/search?num=100&q=' + titre + '+site:fr.wikipedia.org">google</a>; ' + '<a title="Pages liées à \'' + titre + '\'" href="/https/fr.wikipedia.org/wiki/Special:Whatlinkshere/' + titre + '">liées</a>)'); } } } addOnloadHook(liensRouges_main);
Version modifiée pour les autres navigateurs
[modifier | modifier le code]Cette modification du script précédent affiche un lien pour effectuer une recherche dans Google selon le mot-clé de l'article en rouge. Il est visible en tout temps (pas seulement en prévisualisation). Très utile pour traquer les liens rouges, les mauvais redirects et les schtroumpfiser !
/**************************************************************/ /* Ajoute un lien Google sur les liens rouges */ /* Auteur original : Seb35 */ /* Modifications pour IE/Firefox : Dake */ /**************************************************************/ function liensRouges_main() { if(/Spe[cz]ial(?::|%3A)Watchlist/i.test(window.location) || /edit/i.test(window.location)) return; var allLinks = document.getElementById('bodyContent').getElementsByTagName('a'); for(i=0; i<allLinks.length; i++) { if(allLinks[i].getAttribute('class') == 'new') { titre = allLinks[i].getAttribute('title'); var newElementOutside = document.createElement("sup"); var newElement = document.createElement("a"); newElement.setAttribute("title",'Rechercher \'' + titre + '\''); newElement.setAttribute("href", 'http://www.google.com/search?num=100&q=' + titre + '+site:fr.wikipedia.org'); newElement.appendChild(document.createTextNode(" google ")); newElementOutside.appendChild(newElement); insertAfter( allLinks[i].parentNode, newElementOutside, allLinks[i]); } } } addOnloadHook(liensRouges_main);
Divers
[modifier | modifier le code]Importation sur Commons simplifiée
[modifier | modifier le code]- Auteur : Dake
Cette fonction ajoute dans la boîte Outils un lien vers la page d'importations de fichiers multimédias de Commons
function PaletteOutils() { var a = document.getElementById("p-tb"); if (a) { b = a.getElementsByTagName("ul"); if(b.length > 0) { b[0].innerHTML = b[0].innerHTML + '<li><span id="n-bistro" title="http://commons.wikimedia.org/wiki/Special:Upload">' + '<a href="http://commons.wikimedia.org/wiki/Special:Upload">' + 'Importer une image ou un son sur Commons</a></span> </li>' } } } addOnloadHook(PaletteOutils);
Onglet d'utilisation d'une image sur les différents projets Wikimedia
[modifier | modifier le code]- Auteur : Anakin
Cette fonction ajoute un onglet sur les pages d'images permettant de lancer une recherche d'utilisation de la dite image avec l'outil check-usage. Comme la précédente cette fonction s'adapte à toutes les Wikipédias.
// Auteur : Anakin // Dernière mise à jour : 11 décembre 2005 function ImageUse() { var element = document.getElementById('ca-nstab-image'); if (element) { var imagename = element.firstChild.href; var indexofname; if (imagename.indexOf("https://") != -1) indexofname = imagename.indexOf(":", 6); else indexofname = imagename.indexOf(":"); imagename = imagename.substring(indexofname + 1); var indexofampersand = imagename.indexOf("&"); if (indexofampersand != -1) imagename = imagename.substring(0, indexofampersand); var li = document.createElement('li'); li.id = 'ca-imageuse'; var a = document.createElement('a'); a.appendChild(document.createTextNode("Voir l'utilisation")); a.href = 'http://www.juelich.de/avatar/check-usage/check-usage.php?filename=' + imagename + '&template'; li.appendChild(a); document.getElementById('ca-nstab-image').parentNode.appendChild(li); } } addOnloadHook(ImageUse);
Onglet Editcount
[modifier | modifier le code]Cette fonction ajoute un onglet "editcount" à partir de la page special:Contributions d'un utilisateur, afin d'accéder directement au lien (site externe) des statistiques d'édition de ce contributeur.
/* Lien Editcount */ var tabAction = "p-cactions"; function addECButton() { if ( window.location.href.indexOf('Contributions') < 0) return; var c = document.getElementById('contentSub'); var a = c.getElementsByTagName('a'); name = a[0].innerHTML; var l = document.getElementById(tabAction); t = l.innerHTML; ind = t.toLowerCase().indexOf("</ul>"); before = t.substring(0,ind); after = t.substring(ind); pitem = "<li><a href='http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?user="+escape(name)+"&dbname=frwiki_p'>"+ "<div id='EditCount' style='display:inline;'>" + "Editcount" + "</div></a></li>"; l.innerHTML = before + pitem + after ; } addOnloadHook(addECButton);
Ajout de l'historique/pages liées sur les Special:Shortpages
[modifier | modifier le code]obtenir("OptimizedShort");
Le code se trouve sur MediaWiki:JSScripts/OptimizedShort (d · h · j · ↵).
Suivi d'utilisateurs dans les modifications récentes
[modifier | modifier le code]- Auteur: GôTô
Ce script permet de suivre les modifications d'utilisateurs que l'on souhaite sur la page des modifications récentes, pratique pour la lutte contre le vandalisme. Il faut mettre dans la boîte de recherche le nom de l'utilisateur ou l'ip (123.33.29.99 par exemple, ou GôTô), cliquer sur le lien watch user et les modifications de l'utilisateur apparaitront en gras sur la page (il est possible de personnaliser la mise en relief). Ce script utilise des cookies, il faut donc activer les cookies pour le site fr.wikipedia.org pour que cela marche. N'oubliez pas non plus d'ajouter le nécessaire dans la page .css et de la recharger.
[Dernière mise à jour: 4 juillet 2006 à 16:22 (CEST)]
Javascript
[modifier | modifier le code]//---------------------------------------------------------------------------------------------Objets (cookies) document.write('<script type="text/javascript" src="' + 'http://fr.wikipedia.org/w/index.php?title=Utilisateur:GôTô/objects.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); function addWatchUserLinks() { var a = document.getElementById("p-search") if (a) a = a.getElementsByTagName("div")[0] if (a) { var str = a.innerHTML + ' <a class="searchLink" href="javascript:watchUser(document.getElementById(\'searchInput\').value)" title="Mettre en évidence les contributions de cet utilisateur">' + 'watch user</a>' + ' <a class="searchLink" href="javascript:unwatchUser(document.getElementById(\'searchInput\').value)" title="Ne plus mettre en évidence les contributions de cet utilisateur">' + 'unwatch user</a>' a.innerHTML = str } } function watchUser(usr) { if (!isUserWatched(usr)) { var all = cookies.get("watchUser") cookies.set("watchUser", (all ? all + usr + "/" : usr + "/")) highlightWatchedUsers() } } function unwatchUser(usr) { if (!isUserWatched(usr)) return var all = cookies.get("watchUser").split("/") var out = "" for (var cpt = 0 ; cpt < all.length ; cpt++) if (all[cpt] != usr && all[cpt]) out += all[cpt] + "/" cookies.set("watchUser", out) highlightWatchedUsers() } function isUserWatched(usr) { var all = cookies.get("watchUser") if (!all) return null for (var cpt = 0 ; cpt < all.split("/").length ; cpt++) if (all.split("/")[cpt] == usr) return 1 return null } function highlightWatchedUsers() { if (window.location.href.indexOf("Special:Recentchanges") < 1) return var uls = document.getElementsByTagName("ul") var ul = uls[0] for (var cpt = 1 ; cpt < uls.length && ul.className != "special" ; cpt++) ul = uls[cpt] var lis = ul.getElementsByTagName("li") for (var cpt = 0 ; cpt < lis.length ; cpt++) { var usr = lis[cpt].getElementsByTagName("a")[3].innerHTML if (lis[cpt].getElementsByTagName("span")) { var spans = lis[cpt].getElementsByTagName("span") for (var cpt2 = 0 ; cpt2 < spans.length ; cpt2++) if (spans[cpt2].className == "newpage") var usr = lis[cpt].getElementsByTagName("a")[2].innerHTML } if (isUserWatched(usr)) lis[cpt].className = "userWatched" else lis[cpt].className = "" } } addOnloadHook(highlightWatchedUsers) addOnloadHook(addWatchUserLinks)
CSS
[modifier | modifier le code].userWatched a, .userWatched a:visited { color: #002bb8; font-weight: bolder; }
Historique coloré
[modifier | modifier le code]- Auteur : Dake
Fonctionne correctement sous Firefox, Opera 8.5, et Konqueror 3.4.3 Avec Internet Explorer : N'affiche de fond coloré que lors du passage de la souris sur la version de l'article, pour chaque ligne.
Ce script permet de différencier par un code couleur paramétrable les éditions d'administrateurs, de robots, de simples contributeurs, et d'Ips leur liste étant stockée sur un cookie. Ainsi, pour qu'il fonctionne, il faut autoriser les cookies. Le cookie a une durée de vie d'une semaine ce qui garantit la mise à jour régulière des contributeurs.
Installation
[modifier | modifier le code]Voir la page Wikipédia:Historiques en couleur.
Pour les admins uniquement
[modifier | modifier le code]Suppression Deluxe
[modifier | modifier le code]
obtenir("SuppressionDeluxe");
Le code se trouve sur MediaWiki:JSScripts/SuppressionDeluxe (d · h · j · ↵).
BlocageDeluxe
[modifier | modifier le code]
obtenir("BlocageDeluxe");
Le code se trouve sur MediaWiki:JSScripts/BlocageDeluxe (d · h · j · ↵).
Undelete select all
[modifier | modifier le code]Ce script fait apparaitre une case permettant de sélectionner toutes les cases de versions lors d'une restauration d'article.
obtenir("RestaurationDeluxe");
Le code se trouve sur MediaWiki:JSScripts/RestaurationDeluxe (d · h · j · ↵).