Pourquoi le courrier ne comprendra-t-il pas de paramètres de lien?

Lorsque ce code exécute la boîte d'alerte, vous trouverez le lien qui comprend & list = courses et &[email protected]. Lorsque le mailto: déclenche et affiche la fenêtre de messagerie, ces paramètres sont manquants et je ne peux pas comprendre pourquoi. La longueur de la chaîne ne semble pas être importante.

Ce code a tout ce qu'il doit exécuter. Vous pouvez l'exécuter ici: http://jsfiddle.net/mckennatim/rRerR/

<div data-role="header"> <h1>My Title</h1> </div><!-- /header --> <div data-role="content"> <h3>Add List</h3> <form> <div data-role="controlgroup" id="addwhat"> <input type="email" id="shemail" name="inp0" class="inp" /> </div> <div data-role="controlgroup" data-type="horizontal" class="aisubmit"> <input type="submit" data-theme="b" id="mailit" value="mail it"/> </div> </form> </div><!-- /content --> </div><!-- /page --> <script> $('body').on('click', "#mailit", function (e) { e.stopImmediatePropagation(); e.preventDefault(); repo = "Sebaza"; list = "groceries"; semail = $("#shemail").val(); //(semail); urri ='mailto:'+ semail + '?subject=share this list with me' + '&cc=' + semail + '&body=Hi, I think it would be cool if we shared this ' + list +' list on our phones. That way when either of us modified it we would see the update. http://10.0.1.18/webeshoppin/stuff2get/www/food2buy.html?repo=' + repo + '&list=' + list + '&email=' + semail ; window.location = urri; alert('clicked ashare ' +urri); }); </script> </body> </html> 

Le '?' Et les caractères '&' sont effacés par l'analyseur du lien mailto.

Ces caractères doivent être encodés. Essayez de remplacer par:

 ? = %3F & = %26 

Ainsi, cette ligne JS ressemblerait à:

 urri ='mailto:'+ semail + '?subject=share this list with me' + '&cc=' + semail + '&body=Hi, I think it would be cool if we shared this ' + list +' list on our phones. That way when either of us modified it we would see the update. http://10.0.1.18/webeshoppin/stuff2get/www/food2buy.html%3Frepo=' + repo + '%26list=' + list + '%26email=' + semail;