120

./115 : le script contient un peu trop de choses hard-codées, ça a toutes les chances de casser un jour. Voilà une version qui remplace aussi les "zZz" par ceux de 0² mais ça n'est pas beaucoup plus stable pour autant :$(document).ready(function() { var split = /^(.*\/)(.*)$/.exec($('#yn-boo').attr('src')); if (split && (split[2] === 'default.png' || split[2] === 'sleep.png')) { $('#yn-boo') .nextAll('.z0').attr('src', 'http://www.mirari.fr/qiKe').end() .nextAll('.z1').attr('src', 'http://www.mirari.fr/SpkR').end() .nextAll('.z2').attr('src', 'http://www.mirari.fr/jX5K').end() .attr('src', split[1] + 'pixel.png'); } });
avatarAll right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

121

Merci beaucoup !
avatar<<< Kernel Extremist©®™ >>>
Feel the power of (int16) !

122

Bon alors, j’ai essayé de faire un script GreaseMonkey avancé, mais chezmoiçamarchepas© !

cf. le script lui-même (j’ai mis de la journalisation partout), le script est chargé mais la fonction n’est jamais exécutée. Si je n’imbrique pas le code dans un “$(document).ready(function() { … });”, l’exécution s’arrête silencieusement au split.
avatar† In te confirmátus sum ex útero : de ventre matris meæ tu es protéctor meus.
illwieckz.net ~ XQF ~ gg.illwieckz.net { le frag courtois } ~ Granger's toolbox ~ Interstellar Oasis

123

C'est quand même génial cette fonction de GM, de copier/coller le code de illwieckz et d'avoir l'option "Créer un script à partir du presse-papier" smile

Après quelques tests (sans comprendre pourquoi néanmoins), j'ai remarqué que ce sont les appels jQuery qui bloquaient ton script.
J'ai donc retravaillé ton code pour cette version vanilla JS :// ==UserScript== // @name Boo89 // @name:fr-FR Boo89 // @namespace http://www.yaronet.com/gmscripts // @description Display a pixelated Boo with grey level (like on a TI 89 calculator) instead of the default one. // @description:fr-FR Affiche un Boo pixelisé en niveaux de gris (comme sur une calculatrice TI 89) à la place de celui par défaut. // @version 1 // @include /^https?://www\.yaronet\.com/.*$/ // @icon boo89.png // @resource boo89 boo89.png // @resource boo89-sleep boo89-sleep.png // @resource boo89-sleep-z0 boo89-sleep-z0.png // @resource boo89-sleep-z1 boo89-sleep-z1.png // @resource boo89-sleep-z2 boo89-sleep-z2.png // @grant GM_getResourceURL // ==/UserScript== console.log("boo89:load"); document.addEventListener("DOMContentLoaded", function(event) { console.log("boo89:run"); var elemBoo = document.getElementById('yn-boo') var currentBoo = elemBoo.getAttribute('src').split('/').pop(); console.log(currentBoo); if (currentBoo) { console.log("boo89:if-split"); if (currentBoo === 'default.png') { console.log("boo89:if-default"); console.log(GM_getResourceURL('boo89')); elemBoo.setAttribute('src', GM_getResourceURL('boo89')); } else if (currentBoo === 'sleep.png') { console.log("boo89:if-sleep"); changeNextSiblings(elemBoo, "z0"); changeNextSiblings(elemBoo, "z1"); changeNextSiblings(elemBoo, "z2"); elemBoo.setAttribute('src', GM_getResourceURL('boo89-sleep')); } } function changeNextSiblings(elemBoo, zzz) { var list = elemBoo.getElementsByClassName("." + zzz); for (var i = 0; i < list.length; i++) { var el = list[i]; while (el = el.nextSibling) { el.setAttribute('src', GM_getResourceURL('boo89-sleep-' + zzz)); } } } });
Le code ne fonctionne pas pour autant (il semble être de mon côté dans une boucle infinie, à voir le chargement constant de la page, dès qu'on appelle les fonctions GM_getResourceURL()), mais tous les appels de log fonctionnent en guise de test.


Folco (./117) :
Par contre, je ne comprends pas comment Meowcate récupère l'url de l'actuel avec $('#yn-boo'), pour moi c'est du chinois ^^
Folco (./115) :
var currentBoo = $('#yn-boo').attr('src').split('/').pop();
Un petit décodage pour la culture smile
$('#yn-boo') : jQuery récupération de l'élément DOM ayant l'id yn-boo
.attr('src') : jQuery obtention du contenu de l'attribut HTML src
.split('/') : JS division d'un string en array en utilisant le caractère / comme un séparateur
.pop() : JS obtention du dernier élément d'un array (ici, sur l'url divisée en élément d'arrays, le dernier élément est le nom du fichier)

La version de Zeph est aussi sympa à utiliser une regex pour capturer le dernier élément.
avatar« Nous avons propagé sur Extranet une histoire fabriquée de toutes pièces selon laquelle une certaine disposition d'étoiles, vue depuis la planète d'origine des butariens, formaient le visage d'une déesse galarienne.
Sans chercher à vérifier ces informations, certains ont décrété que c'était la preuve de l'existence de la déesse. Ceux qui notaient le manque de preuves se faisaient attaquer. »

Legion, geth trolleur à portée galactique

124

@Meowcate, en fait tu peux aussi, tout simplement cliquer sur le bouton “raw” ou tout simplement ici : cliquer ici. Et hop ça télécharge le script, et les dépendances. Mais bon, tant que le code ne marche pas, c’est bien inutile ! Le code fonctionne bien en dehors de GM (si je mets les chemins absolus), donc tout cela est probablement lié à la sandbox…

[Edit: chezmoiçamarche© eeek eeek eeek !! il n’y a plus qu’à attendre le soir pour voir si le Boo qui dort est lui aussi remplacé et animé correctement ! boing]
[Edit: je crois que ce soir je me coucherai avant de pouvoir le voir ! zzz]
avatar† In te confirmátus sum ex útero : de ventre matris meæ tu es protéctor meus.
illwieckz.net ~ XQF ~ gg.illwieckz.net { le frag courtois } ~ Granger's toolbox ~ Interstellar Oasis

125

Bon alors, le Boo qui dors est remplacé correctement la nuit, mais il n’est pas animé… :-/ Ça va être compliqué s’il faut débuguer la nuit…
avatar† In te confirmátus sum ex útero : de ventre matris meæ tu es protéctor meus.
illwieckz.net ~ XQF ~ gg.illwieckz.net { le frag courtois } ~ Granger's toolbox ~ Interstellar Oasis

126

Et encore, tu n'as jamais vu le Boo de 4h12 !
avatar

127

"Le Boo de 4h12", ça sonne comme le titre d'un roman policier ^^
avatarZeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

128

... chiche embarrassed
avatar

129

grin

130

Il y a déjà un Boo de 3h du matin, mais il faut être ponctuel ^^
avatarAll right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

131

Ça dure un peu plus longtemps qu'avant, non ? cheeky

132

À partir du moment où il s'affiche, oui, c'est à cause du cache ^^
avatarAll right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

133

Ah OK grin

134

Le Boo de 11h14

135

Alors voilà tout semble fonctionnel désormais ! happy

Mewocate ton code de nuit ne pouvait pas marcher parce qu’en JavaScript pur tu ne devais pas mettre de point avant le nom de classe. ;-)

Ensuite, et bien ça ne pouvait pas marcher du tout du tout puisque ce code est exécuté avant que les scrips du site soient lancés, donc les balises sont absentes ! scotch Plutôt que de faire des trucs dégueux pour essayer d’exécuter ce code après que le script de yN ait été exécuté, j’ai lu le code en question (…/layout/html/page.js) et j’ai découvert que le code va automatiquement chercher les images <basename>-z#.png depuis <basename>.png, donc il n’y a seulement qu’à remplacer l’image de boo qui dort et c’est tout, en s’assurant que le nom de ressource GreaseMonkey termine en .png pour que le script du site fasse la substitution, et en s’assurant que le script GreaseMonkey s’exécute avant tout le reste. chapo Ce qui est fait avec la directive @grant document-end (qui est sensé être le comportement par défaut, mais autant être prudent parce que là on en a besoin pour sûr), il n’y a donc pas besoin de placer un EventListener. cool

Folco a été invité sur ce sujet.


Folco, tu peux installer ça pour avoir le Boo animé quand il dort (je lui ai aussi fermé les yeux cheeky ), il te suffit de cliquer sur le lien suivant :
avatar† In te confirmátus sum ex útero : de ventre matris meæ tu es protéctor meus.
illwieckz.net ~ XQF ~ gg.illwieckz.net { le frag courtois } ~ Granger's toolbox ~ Interstellar Oasis

136

Merci beaucoup, mais le script de Zeph en haut de la page fait déjà le boulot à la perfection hehe
avatar<<< Kernel Extremist©®™ >>>
Feel the power of (int16) !

137

Le script de Zeph te donne un Boo qui dors les yeux éveillés, et ne fonctionne que tant que les images survivent sur mirari, tandis que ce script télécharge directement les images nécessaires dans ton profil firefox (comme dépendance du script GM), ce qui est beaucoup plus résilient.
Non seulement ces png ont été optimisés de 60 octets, mais en plus ils ne sont téléchargés qu’une fois pour toute, ce qui fait très beaucoup d’octets. wink

Et en fait ce n’est pas normal que le script de Zeph fonctionne, donc ça peut péter du jour au lendemain. Quand le script GreaseMonkey est exécuté, rien ne spécifique que jquery doive-t-être déjà chargé et fonctionnel. oui

Il te manque cette image pour la nuit :
boo89-sleep.png

cheeky
avatar† In te confirmátus sum ex útero : de ventre matris meæ tu es protéctor meus.
illwieckz.net ~ XQF ~ gg.illwieckz.net { le frag courtois } ~ Granger's toolbox ~ Interstellar Oasis

138

Bon bon, je me couche, ok grin Seule chose, je voudrais que Zeph valide le côté "ça pètera jamais", puis après j'adopte cheeky
avatar<<< Kernel Extremist©®™ >>>
Feel the power of (int16) !

139

Sinon on ajoute une option de personnalisation de Boo aux skins, et voilà, comme ça on n'a plus le temps de voir le boo classique grin

140

Oui, Zeph m'a dit qu'il était en train d'ajouter une option dans le profil pour faire ça embarrassed
avatar<<< Kernel Extremist©®™ >>>
Feel the power of (int16) !

141

Folco (./140) :
Oui, Zeph m'a dit qu'il était en train d'ajouter une option dans le profil pour faire ça embarrassed
oui, avec la possibilité de mettre de gif perso en avatar grin
avatarWebmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

142

143

Folco (./138) :
je voudrais que Zeph valide le côté "ça pètera jamais", puis après j'adopte cheeky
Aucun souci, je fais ça juste après avoir ajouté des options dans le profil pour avoir un gif animé de 4mo hébergé sur un serveur à Phuket, une musique midi en autoplay quand on navigue, la balise cowboy et un panneau "travaux" à côté d'un gyrophare quand il y a une mise à jour smile
avatarAll right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

144

Ha oui n'oublie pas le panneau c'est super mega giga important (au moins autant que le MIDI, mais j'aurais plutôt utilisé du aiff que du midi mais bon! Chacun ses gouts!)
avatarProud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

145

pourquoi midi et pas mod à la place ? et la balise flash ? Et les activex ?
avatarWebmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

146

Bon ben c'est parfait, merci beaucoup !
Rahlala, quel dommage quand même que yAronet ne soit pas open-source, il suffirait de faire un simple pull request pour ce genre de trucs, ça épargnerait à Zeph bien du travail !
avatar<<< Kernel Extremist©®™ >>>
Feel the power of (int16) !

147

vous reprendrez bien un peu de marquee?
avatar† In te confirmátus sum ex útero : de ventre matris meæ tu es protéctor meus.
illwieckz.net ~ XQF ~ gg.illwieckz.net { le frag courtois } ~ Granger's toolbox ~ Interstellar Oasis

148

149

Je suis sur qu’avec quelques frames on pourrait faire quelque chose de pas mal. cheeky
Folco (./146) :
Rahlala, quel dommage quand même que yAronet ne soit pas open-source, il suffirait de faire un simple pull request pour ce genre de trucs, ça épargnerait à Zeph bien du travail !

pencil
avatar† In te confirmátus sum ex útero : de ventre matris meæ tu es protéctor meus.
illwieckz.net ~ XQF ~ gg.illwieckz.net { le frag courtois } ~ Granger's toolbox ~ Interstellar Oasis

150

3 balises importantes en effet, marquee, cowboy et brunni

Bien sûr les 3 peuvent être appliquée en mêmes temps!
avatarProud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.