Ouais, pas con, je verrais.
Quand tu parles de l'organisation de mes scripts, c'est si je fais comme tu dis, ou comme c'est maintenant?
Bah comme c'est maintenant t'as rien à revoir, mais si tu veux tout "compiler" dans un même script faudra faire différemment, au lieu d'ajouter un script à la page, tu exécuteras une fonction, mais ça revient au même au final.
En gros dans ton main.js, tu définis un array "scripts" par exemple, puis pour chacun de tes scripts (infos de profil, antibot, etc...) tu push ton array avec un objet qui contient l'id du script, le nom "user friendly" du script, pourquoi pas une description, et bien sûr un callback qui contient réellement le script.
Après avoir rempli ton array, tu exécute chacun des scripts en fonction des options (si localStorage[JVCMaster_id_script] vaut true alors on exécute) par exemple.
L'avantage est que tu peux générer ta page d'options dynamiquement, vu que ton array est déjà rempli, pour chaque script tu ajoute une checkbox, le nom du script, une description, et onclick tu switch l'option dans le localStorage.
Alors côté développement c'est toujours mieux d'avoir des fichiers js bien distincts pour chaque fonctionnalité, on s'y retrouve mieux que de tout faire dans le même js, mais tu peux générer ça en php ou autre, tu inclus le main, puis tu inclus tous les scripts, puis à la fin tu exécute en fonction des options.
Et chaque fichier genre infosProfil.js ou antibot.js, au lieu de contenir directement les instructions directement comme maintenant, il contiendrait:
scripts.push({
id: 'antibot',
name: 'Anti Bot',
description: 'Le titre est pas assez clair ? ',
callback: function() {
/* Instructions à exécuter */
}
});
Donc toi au final tu récupère un big .user.js qui contient tout (pas besoin d'inclure des fichiers de ton serveur, tout est dans l'userscript donc on va dire que c'est plus optimisé, mais surtout plus sécurisé).
Que tu es gentil de t'être donné cette peine.
Je lis.
Bon, voilà, j'ai lu.
Je prendrais ce model suivant :
scripts.push({
id : ,
name : ,
description : '',
install : function() {
/* Instructions à exécuter */
},
destroy : function(){
/* Quand on désactive le script */
}
});
Par contre, je vous préviens, je pars pendant 1 semaine au Lavandou demain, donc bon, vu que je serais à la plage, je pourrais bosser seulement entre 12h et 15-16h, et le soir.
Je me suis pas donné de peine, c'est juste la structure que j'utilise pour la version WIP de JVCPremium.
Et comme t'as l'air d'avoir beaucoup plus de temps que moi pour faire une extension JVC je partage m'vois-tu.
Par contre je comprends pas trop ce que tu veux faire avec install et destroy, et je vois pas où est la fonction réelle de chaque fonctionnalité, m'enfin je te laisse gérer ça.
Bonnes vacances.
Ah ok.
Enfin, "install", ça serait plutôt "main", quand on lance l'antibot, ou autre.
Et "destroy", pour la citation ou autre, pour enlever les boutons.
Virus ?
+ merci, toi aussi.
@MistDragon Non, désolé!
Je l’installe pas au cas ou /
C'est vrai qu'avoir 11 pages de remerciement ou d'indication de bug, ça veut dire que c'est un virus.
Pas de virus, c'est clean pour ceux qui se posent la question
Enfin la version Chrome actuelle, c'est sûr, par contre la version userscript inclut le script depuis le serveur externe donc on peut pas vraiment savoir, mais faut arrêter d'être parano à ce point.
Pour les autres nav, j'pouvais pas faire autrement, hors de question que je me tape une extension Firefox.
Ben à la base, JVCMaster c'est un UserScript qui allait chercher les autres extensions sur un serveur distant.
Puis j'ai fais une extension Google Chrome car c'est vraiment simple, et pour avoir les extensions de JVCMaster en local, pour que ça soit plus rapide, et pour que ça marche à tout les coups, car parfois, le serveur distant me renvoyait un "403"
Et pour Mozilla Firefox, c'est vraiment... horrible.
Pour FF le plus simple c'est un userscript "compilé" avec tous les scripts préintégrés quoi, enfin comme je te disais page précédente, mais t'auras le temps de voir ça plus tard.
@Staino Oui mais non, vu que le serveur distant me renvoyait un "403", ça marchait pas.
@vava740 Ouais, je suis en train de bosser là.
Merci, tu me fais zizir.
Je viens de prendre le truc sur Chrome. Pas mal la fonction "citer"
| Ecrit par « Staino » , le 25 août 2012 à 15:02:43
| « Bon bah bosse bien alors
|
| Très bonne extension, très fluide sous FF en tout cas. GG. »
Merci.
| Ecrit par « Blue-October » , le 25 août 2012 à 15:11:50
| « Je viens de prendre le truc sur Chrome. Pas mal la fonction "citer" »
Merci.
Au passage, je viens de corriger un bug sur l'userscript que j'avais déjà corrigé pour l'extension Chrome.
Allez, je viens de faire la LightBox, la citation, et le hidePost.
J'sais pas si j'avais répondu, mais l'utilité du "scripts.*.uninstall()", c'est quand l'utilisateur désactive l'extension, ça enlève les éléments rajoutés par "scripts.*.main()" en temps réel, pas besoin de recharger la page.