Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

saut de ligne dans un email généré par javascript

15 réponses
Avatar
Jean Bidule
Bonjour,

ca va faire un jour que je cherche une solution!
Comme souvent, je suppose que la solution est toute simple.

En javascript, j'aimerais généré un email (qui sera lancé par un mailto)
dont le corps du message contiendrait un tableau à deux dimensions (mise en
forme si c'est possible avec du code html).
Mon problème est que je ne sais même pas comment faire pour effectuer un
saut de ligne dans ce message.

par exemple; comment remplir une variable "message" qui contiendrait deux
lignes de texte comme : "Bonjour," et sur la ligne suivante "Vous trouverez
ci-dessous les informations demandées".

j'ai essayé :
var message="Bonjour, \n Vous trouverez ci-dessous les informations
demandées" ;

mais j'obtiens seulement dans le corps du message :

Bonjour, Vous trouverez ci-dessous les informations demandées

donc le saut le ligne n'a pas fonctionné, il est remplacé par un espace.

Avez-vous une idée pour insérer un saut de ligne dans un message email créer
par javascript ?

Merci beaucoup de votre attention
Jean

5 réponses

1 2
Avatar
Olivier Miakinen

Le retour se fait par %0A%0D, en tout cas, ça marche avec Mac, il me
semble qu'un seul des deux (je crois %0D) suffirait pour Windows...


Euh ben c'est le contraire ! %0A%0D pour Windows, et %0A pour Mac


Voilà qui est très étonnant. Soit c'est normalisé par JavaScript, et
cela devrait être la même chose partout (vraisemblablement %0A) ; soit
c'est vraiment dépendant de la plateforme, et alors ça devrait être :
- %0D%0A pour Windows
- %0D pour Mac (sauf peut-être MacOS X)
- %0A pour Unix (y compris peut-être MacOS X)


Avatar
ASM

Le retour se fait par %0A%0D, en tout cas, ça marche avec Mac, il me
semble qu'un seul des deux (je crois %0D) suffirait pour Windows...


Euh ben c'est le contraire ! %0A%0D pour Windows, et %0A pour Mac



Voilà qui est très étonnant. Soit c'est normalisé par JavaScript, et
cela devrait être la même chose partout (vraisemblablement %0A) ;


en tous cas, chez moi
truc = 'machin chose';
alert(escape§truc))
me donne 'machin%0Atruc'

et ça ça fonctionne ?
http://perso.wanadoo.fr/stephane.moriaux/truc/mailto_texte_htm#js
avec FF :
ça m'ouvre TB qui me montre bien ce que voulu
avec IE :
ça ne m'ouvre rien
et de temps en temps ça envoie qque chose
(un peu n'importe quoi d'ailleurs)



--
Stephane Moriaux et son [moins] vieux Mac



Avatar
Olivier Miakinen

et ça ça fonctionne ?
http://perso.wanadoo.fr/stephane.moriaux/truc/mailto_texte_htm#js
avec FF :
ça m'ouvre TB qui me montre bien ce que voulu
avec IE :
ça ne m'ouvre rien
et de temps en temps ça envoie qque chose
(un peu n'importe quoi d'ailleurs)


Ça fonctionne parfaitement avec Mozilla et IE sur Windows. Il me
semblait bien que le %0A seul devait suffire indépendamment de la
plateforme.

--
Olivier Miakinen
Troll du plus sage chez les conviviaux : le nouveau venu, avec
son clan, s'infiltre dans les groupes de nouvelles. (3 c.)

Avatar
Olivier Miakinen


et ça ça fonctionne ?
http://perso.wanadoo.fr/stephane.moriaux/truc/mailto_texte_htm#js
avec FF :
ça m'ouvre TB qui me montre bien ce que voulu
avec IE :
ça ne m'ouvre rien
et de temps en temps ça envoie qque chose
(un peu n'importe quoi d'ailleurs)


Ça fonctionne parfaitement avec Mozilla et IE sur Windows. Il me
semblait bien que le %0A seul devait suffire indépendamment de la
plateforme.


Je viens de vérifier dans la doc. Dans le paragraphe 7.3, ils
définissent quatre caractères qui seront interprétés comme des
« line terminators » (fins de ligne). Il y a :
u000A Line Feed <LF>
u000D Carriage Return <CR>
u2028 Line separator <LS>
u2029 Paragraph separator <PS>

À la fin du paragraphe 7.8.4 définissant les chaînes de caractères, il
est dit dans une note qu'un « Line Terminator » ne peut pas être mis tel
quel dans une chaîne, et que la syntaxe correcte est n ou u000A. Bien
qu'ils ne le rappellent pas dans cette note, on voit dans le reste du
paragraphe que la syntaxe x0A est possible aussi, de même que u000a
et x0a.

Qu'est-ce que cela donne si tu remplaces %0A par n ?

--
Olivier Miakinen
Troll du plus sage chez les conviviaux : le nouveau venu, avec
son clan, s'infiltre dans les groupes de nouvelles. (3 c.)


Avatar
ASM

Qu'est-ce que cela donne si tu remplaces %0A par n ?



d'expérience :
le n est
- soit ignoré (on n'a même pas un espace)
- soit écrit avec le reste (et touj ni espace ni retour)
si on n'url-encode pas ->
escape(textarea.value)+escape('nn-- n')+escape(signature.value)

enfin ... çà a l'air de fonctionner comme çà avec le couple FF/TB
sans escape :
http://perso.wanadoo.fr/stephane.moriaux/truc/mailto_texte_htm_n#js
avec :
http://perso.wanadoo.fr/stephane.moriaux/truc/mailto_texte_htm_esc#js

--
Stephane Moriaux et son [moins] vieux Mac

1 2