Page 2 sur 2

Re: nouvelle extension par héritage d'une autre extension

Publié : 20 déc. 2020, 19:38
par noftal
OK, j'ai réussi assez facilement à implémenter la fonctionnalité.
En revanche, j'ai découvert que mon code permettant d'insérer la signature au-dessus du bloc reply ou forward n'est pas robuste. Dès que je me retrouve avec un historique comprenant des blocs reply contenant des blocs forward ou vice versa, mon code ne marche pas.
Pour faire simple, je cherche tous les blocs reply et forward qui sont dans le body en l'occurence avec la méthode getelementsbyclassname alors qu'il faudrait que je limite ma recherche aux seuls enfants directs de body. Dans ce cas, je ne peux pas avoir à la fois des blocs reply et des blocs forward et le tour est joué.
Comment faire pour ne trouver l'équivalent de getelementsbyclassname mais en me limitant aux seuls enfants directs ?
Ou à défaut, comment tester les résultats de getelementsbyclassname pour savoir si ce sont des enfants directs de Body (pour ensuite appliquer mon code à ces seuls cas) ?

Re: nouvelle extension par héritage d'une autre extension

Publié : 20 déc. 2020, 22:23
par DaveRo
Je ne connais pas la structure d'un e-mail html tel que créé par TB. (Et vous devez gérer les e-mails en texte brut aussi.) Mais je pense que vous itéreriez dans le tableau des éléments et vérifieriez le ParentNode de chacun. Ou peut-être obtenir un tableau de ChildNodes du BODY et vérifier la classe de chacun.

J'utiliserais le debugger/inspector pour examiner la structure. (En supposant que cela marche avec la fenêtre de rédaction - je ne l'ai jamais fait. (Je suis sur un appareil Android ici, donc je ne peux pas vérifier.)

Re: nouvelle extension par héritage d'une autre extension

Publié : 20 déc. 2020, 22:56
par noftal
OK, j'y suis arrivé.
Tout est OK : le changement des sig-delimiter en cas de réponse ou de forward, la non suppression des signatures pouvant rester dans l'historique des mails en cas de modification du choix de la signature. Ca marche aussi pour les mails au format Texte.
Bon on n'est pas à l'abri d'un bug, ou d'un oubli, mais j'ai fait pas mal de tests et tout marche comme attendu pour l'instant.
Merci beaucoup pour votre aide !