Publié le 16/10/2005 Dans Programmation
1. Le temps des ténèbres.
2. Un nouvel envol
3. Deux pricipaux courants.
4. Script Utilisateur, exemple co...
5. » Mise en pratique avec Opera.
6. Mise en Pratique avec Firefox.
7. Le Résultat.
2. Un nouvel envol
3. Deux pricipaux courants.
4. Script Utilisateur, exemple co...
5. » Mise en pratique avec Opera.
6. Mise en Pratique avec Firefox.
7. Le Résultat.
Mise en pratique avec Opera.
Opera, par défaut, exécute les scripts utilisateur dès que possible. Or nous ne voulons pas que le script se mette à chercher quelque chose dans la page alors que celle-ci n'est pas encore chargée. Pour ce faire, Opera dispose d'un objet spécial, window.opera, qui permet, entre autre, d'écouter des évènements de d'appliquer un traitement en fonction de ceux-ci. Et c'est ce que nous allons utiliser ici. Je vous passe les détails de la réflexion, pour arriver tout de suite à ce résultat:- // ==UserScript==
- // @include http://www.informaticien.be/*
- // @include http://informaticien.be/*
- // ==/UserScript==
- window.opera.addEventListener('AfterEvent.load', function(e) {
- if( !( e.event.target instanceof Document ) ) { return; }
- var divList = document.getElementsByTagName('div');
- for( var i = divList.length-1, div; div = divList[ i ]; i-- ) {
- if( div.className == 'leftpanel leftpanelreply' || div.className == 'forumquickreply') {
- div.style.background = 'transparent url(data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAB3RJTUUH1QoNEA0p3ceiEQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAARnQU1BAACxjwv8YQUAAAANSURBVHjaY/j37c0MAAlPA3nqVr81AAAAAElFTkSuQmCC)';
- break;
- }
- }
- }, false);
Les lignes 2 et 3 servent à indiquer que le script ne doit tourner que sur le site à corriger. La ligne 6 indique que l'on écoute l'évènement de chargement et que l'on agit après. La ligne 7 indique au script de ne pas aller plus loin si l'objet chargé n'est pas la page. Le reste concerne la recherche des morceaux de code utilisant les styles incriminés et remplace la couleur de fond par notre image (représentée ici sous sa forme cryptique en base64).