Se connecter / S'enregistrer
Votre question

script pour greasemonkey

Tags :
  • Script
  • Programmation
Dernière réponse : dans Programmation
1 Septembre 2007 13:22:11

J'aimerais savoir si c'est possible de faire un script en .js qui reconnaitrait des expressions dans le code html d'une page comme

  1. <th>Retour de flotte</th>



et qui pourrais modifier leur affichage pour qu'il apparaisse dans une couleur choisie...

Si oui est ce que quelq'un pourrais me faire un exemple de code générique pour que je puisse faire mon script?

J'ai été voir sur userscripts.org mais je n'ai pas vu de script qui répondait a mes besoins...

Merci

ps: Je précise que ce sont des données affichées dans un tableau...

Il y a entre autre:
- Retour de flotte
- Arrivée sur une planète
- Rapport d'exploitation du champ de débris aux coordonnées [X:X:X] (X etant des variables numériques)
- Message de votre alliance

Autres pages sur : script greasemonkey

a c 232 L Programmation
3 Septembre 2007 14:01:08

Salut,

Tu voudrais faire ça pour tous les sites, ou seulement pour ton site ?
Contenus similaires
4 Septembre 2007 10:05:22

Uniquement pour un site mais qui ne m'appartient pas...
En fait l'extension Greasemonkey permet a partir de script de modifier l'affichage d'une page dans le navigateur sans toucher a la page ou au script stocké sur le serveur...

Il y a pas mal d'exemple sur le site userscript.org...
a c 232 L Programmation
4 Septembre 2007 10:15:45

Je connais greasemonkey ;)  Je l'ai jamais utilisé, mais je vois à quoi il sert.
Par contre, tu peux ajouter directement du CSS ?
Si c'est le cas, tu as juste besoin de faire :
  1. th { color: blue; }



Et puis, si tu veux juste faire du CSS, tu n'as pas besoin de greasemonkey. Tu vas dans C:\Documents and Settings\tonpseudo\Application Data\Mozilla\Firefox\Profiles\tonnumeroprofil\chrome\
Tu copies le fichier userContent-example.css vers userContent.css.

Ensuite, tu édites le fichier; et tu choisis pour quel site tu veux faire ça :
  1. @-moz-document domain(nom_de_domaine){ code CSS habituel }
  2. @-moz-document url-prefix(adresse_http_partielle) { code CSS habituel }
  3. @-moz-document url(adresse_http_précise) { code CSS habituel }


Donc par exemple, pour idn, tu ferais :
  1. @-moz-document domain (http://www.infos-du-net.com) {
  2. th { color : blue ; }
  3. }


Ca va changer l'écriture de tous les TH de IDN en bleu (je sais pas si y'en a sur IDN...).
Par contre, il faut redémarrer firefox :) 
4 Septembre 2007 10:33:13

Le truc c'est que j'aimerais donner une couleur différente aux elements en fonction de l'intitulé des messages que je recois sur le site soit les quelques phrases (et d'autres) que j'ai mis plus haut...

Mon probleme c'est qu'il n'y a pas de class appliqué au messages et je voulais donc savoir si on peut demander a un script de rechercher une expression particuliere dans le code de la page pour le modifier.

Par contre ca me fais penser a une autre solution...
On pourrais demander a greasemonkey de rajouter un attribut class dans les balises th différent pour chaque contenu...
Après il n'y aurait plus qu'a colorer en fonction de la class...
Mais ca pose toujours la question de la reconnaissance de l'expression
a c 232 L Programmation
4 Septembre 2007 11:26:39

Ok; les scripts greasemonkey sont du JS, donc c'est tout con je pense.

Faudrait avoir un peu la structure de la table, y'a pas la table contenant les TH qui a un ID ?
Ensuite, tu fais un getElementsByTagName(); tu récupères les TH, et en fonction de leur innerHTML, tu appliques des styles.
4 Septembre 2007 13:33:21

Il y a aucun id pour différencier les cellules contenant l'entete de celle contenant la date ou le message.

Il y aurait moyen d'avoir un exemple avec l'expression:

<th>Retour de flotte</th>


Et comment faire pour les données numérique de:
Rapport d'exploitation du champ de débris aux coordonnées [X:X:X]

Il faut rajouter quoi pour que tout chiffre entre 1 et 999 soit reconnu?

Pour infos, il sagit de la section message de uni4.Ogame.fr
a c 232 L Programmation
4 Septembre 2007 16:22:53

  1. var ths = document.getElementsByTagName('th');
  2. for (var i=0; i<ths.length; i++) {
  3. alert(' ths['+i+'] = '+ths[i].innerHTML);
  4. }


Edit: si tu veux tester ça, suffit d'ajouter dans l'URL, une fois que tu as chargé ogame :
  1. javascript:function s() { var ths = document.getElementsByTagName('th'); for (var i=0; i<ths.length; i++) { alert(' ths['+i+'] = '+ths[i].innerHTML); }}; s();
4 Septembre 2007 16:53:51

si je dis au code de colorer en vert, tout les th seront coloré en vert non?

Si je veux que "retour de flotte" soit en vert pale et que "Arrivée sur une planète" soit en vert foncé
Je dois le préciser ou?
(Je sais je suis pas doué mais j'ai pas touché a la programmation depuis plusieurs années et j'était qu'un simple débutant a l'époque...)
a c 232 L Programmation
4 Septembre 2007 19:41:35

Tu as testé le bout de code que je t'ai mis ???
5 Septembre 2007 08:40:02

Bin en fait j'arrive pas a comprendre le code...

En plus tu me dis de rajouter a l'url... mais j'ai jamais vu du code comme ca dans une url.
a c 232 L Programmation
5 Septembre 2007 15:26:51

En fait, tu charges ta page ogame.
Une fois qu'elle est chargée, tu mets ce code dans l'URL, sans rien d'autre.

Tu peux faire la même chose sur tous les sites...
6 Septembre 2007 17:15:01

J'ai essayé de mettre le morceau de code dans la barre de lien mais aucun changement...
a c 232 L Programmation
6 Septembre 2007 18:51:21

Dans cette page d'IDN là.
Copie ce code :
javascript:function s() { var ths = document.getElementsByTagName('th'); for (var i=0; i<ths.length; i++) { alert(' ths['+i+'] = '+ths[i].innerHTML); }}; s();


Et colle le dans l'adresse(en effaçant le reste), et valide. Tu vois rien ??
7 Septembre 2007 07:49:00

rien du tout...
a c 232 L Programmation
7 Septembre 2007 09:35:28

C'est pas possible :o 


T'es bien sous Firefox hein ?
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS