Javascript - Envoi de l'url de la page en cours par e-mail

WRInaute impliqué
Bonsoir,

J'ai un petit soucis avec un Javascript.

Je veux envoyer l'url d'une page par email lorsque l'on clique sur une image qui est placée sous mes jeux.

Cela fonctionne bien avec Google Chrome, je recois par exemple cette adresse :
-http://www.kevicar.com/modules.php?name=Forums&file=games&gid=3420

Mais avec Internet Explorer je reçois celle-ci:
-http://www.kevicar.com/modules.php?name=Forums

Cela coince donc apparement avec le &

Voici mon code :
Code:
<SCRIPT TYPE="text/javascript"><!--
var SubjectLine='Viens me battre sur ce jeu !'; 
var BodyText='Salut, je viens te défier sur ce jeu : '+ top.location.href +' \n\nArriveras-tu à me battre ? \n\nSi tu n\'es pas encore inscris sur Kevicar.com, tu peux le faire, cela prends 30 secondes et c\'est gratuit !\n\nPlus de 3420 jeux sont disponibles et un petit championnat entre tous les joueurs est organisé.\n\nBonne chance et amuses-toi bien sur... \n\n' +top.document.title ;

var Message='<A HREF="mailto:?SUBJECT='+escape(SubjectLine)+'&BODY='+escape(BodyText)+'" OnMouseOver="status=\'Envoyer ce jeu à vos amis\'; return true;" TITLE="Envoyez ce jeu par e-mail à un ami pour le défier !"><img border="0" src="http://www.kevicar.com/images/defie.jpg" width="300" height="40" alt="D&eacute;fie un ami &agrave; ce jeu." /><\/A>';

var MessageIE='<a HREF="mailto:?SUBJECT='+(SubjectLine)+'&BODY='+(BodyText)+'" OnMouseOver="status=\'Envoyer cette page à vos amis\'; return true;" TITLE="Envoyez ce jeu par e-mail à un ami pour le défier !"><img border="0" src="http://www.kevicar.com/images/defie.jpg" width="300" height="40" alt="D&eacute;fie un ami &agrave; ce jeu." /></a>';

if(document.all) { document.write(MessageIE); }

else { document.write(Message); }
--></SCRIPT>

Merci pour votre aide !

:wink:
 
WRInaute impliqué
Je comprends pas ...

Lorsque sur mon image, je fais clic droit " copier l'url " ca me donne bien la bonne url sous IE

Mais l'url est tronquée dans l'email reçu.

:cry:
 
WRInaute accro
Et de manière à t'affranchir de ce genre de souci de compatibilité, pourquoi ne pas tout simplement gérer cet envoi en Ajax ?

Tu as essayé de mettre &amp; plutôt que & ?
 
WRInaute impliqué
Et de manière à t'affranchir de ce genre de souci de compatibilité, pourquoi ne pas tout simplement gérer cet envoi en Ajax ?

J'ai directement trouvé ce script, qui fonctionne sur Google Chrome ... je pensais que ca fonctionnerait aussi sur IE. :(

J'ai pas cherché autre chose, mais je vais le faire si y a pas de solution.

Tu as essayé de mettre &amp; plutôt que & ?

Avec &amp; cela ne fonctionne pas sur IE et cela ne fonctionne PLUS sur Chrome !

:|
 
WRInaute impliqué
essaye ceci :

Code:
var BodyText='Salut, je viens te défier sur ce jeu : '+ encodeURIComponent(top.document.href)  +' \n\n [...]
 
WRInaute impliqué
Salut julienr

encodeURIComponent(top.document.href) - fonctionne pas sur IE

undefined

:?

encodeURIComponent(top.location.href) - fonctionne sur IE mais problème sous Chrome !

-http%3A%2F%2Fwww.kevicar.com%2Fmodules.php%3Fname%3DForums%26file%3Dgames%26gid%3D2281

:(
 
WRInaute impliqué
autant pour moi :)

Code:
var BodyText='Salut, je viens te défier sur ce jeu : '+ encodeURIComponent(top.location.href)  +' \n\n [...]
 
WRInaute impliqué
Oui c est vrai ... c'est bien mieux !

Merci beaucoup , je vais continuer a chercher ... il parait que l'on trouve si on cherche ! :lol:

...ou alors j'efface tout et je recommence avec autre chose.

Si vous avez de bonnes idées, je suis preneur.

Merci
 
WRInaute impliqué
[Réglé] Javascript - Envoi de l'url de la page en cours par

Ajax + php qui envoie un mail ?

Je pense qu'avec le mailto mes membres l'utiliseront plus facilement.
J'ai l'impression que c'est plus simple de trouver une adresse email directement dans son logiciel de messagerie que de l'insérer à la main.

Bon je vous remercie , j'ai trouvé une solution pour mon script.

Je vous le mets ici, si cela peut être utile à quelqu'un :
Code:
<script type="text/javascript"><!--
var SubjectLine='Viens me battre sur ce jeu !'; 
var BodyText='Salut, je viens te défier sur ce jeu ! \n' + top.location.href + '\n\nArriveras-tu à me battre ? \n\nSi tu n\'es pas encore inscris sur Kevicar.com, tu peux le faire, cela prends 30 secondes et c\'est gratuit !\n\nPlus de 3420 jeux sont disponibles et un petit championnat entre tous les joueurs est organisé.\n\nBonne chance et amuses-toi bien sur... \n' +top.document.title ;

var BodyText2='Salut, je viens te défier sur ce jeu ! %0A' + encodeURIComponent(top.location.href) +'%0A%0AArriveras-tu à me battre ? %0A%0ASi tu n\'es pas encore inscris sur Kevicar.com, tu peux le faire, cela prends 30 secondes et c\'est gratuit ! %0A%0APlus de 3420 jeux sont disponibles et un petit championnat entre tous les joueurs est organisé. %0A%0ABonne chance et amuses-toi bien sur... %0A' +top.document.title ;


var Message='<A HREF="mailto:?SUBJECT='+escape(SubjectLine)+'&BODY='+escape(BodyText)+'" OnMouseOver="status=\'Envoyer ce jeu à vos amis\'; return true;" TITLE="Envoyez ce jeu par e-mail à un ami pour le défier !"><img border="0" src="http://www.kevicar.com/images/defie.jpg" width="300" height="40" alt="D&eacute;fie un ami &agrave; ce jeu." /><\/A>';

var MessageIE='<a HREF="mailto:?SUBJECT='+(SubjectLine)+'&BODY='+(BodyText2)+'" OnMouseOver="status=\'Envoyer cette page à vos amis\'; return true;" TITLE="Envoyez ce jeu par e-mail à un ami pour le défier !"><img border="0" src="http://www.kevicar.com/images/defie.jpg" width="300" height="40" alt="D&eacute;fie un ami &agrave; ce jeu." /></a>';

if(document.all) { document.write(MessageIE); }

else { document.write(Message); }
--></script>

Explication:

Le code fonctionnant parfaitement avec Google Chrome, j'ai rajouté une variable (BodyText2) pour Internet Explorer.

J'avais ensuite un soucis pour faire des Retours à la ligne dans le corps du mail. (avec le code d'Internet Explorer)

Voici la solution : %0A
:wink:

Merci beaucoup pour votre aide ... sujet réglé !

:D
 
WRInaute accro
Re: [Réglé] Javascript - Envoi de l'url de la page en cours par

kevicar a dit:
Je pense qu'avec le mailto mes membres l'utiliseront plus facilement.
J'ai l'impression que c'est plus simple de trouver une adresse email directement dans son logiciel de messagerie que de l'insérer à la main.
et puis, comme cela, on ne laisse pas l'adresse mel d'un ami sur un site inconnu, qui pourrait s'en servir pour spammer.
Mais sinon, il y a le menu fichier/envoyer un lien par courrier électronique qui fonctionne sur FF, IE et Safari
 
Discussions similaires
Haut