1

我知道这听起来像是重复的,但该解决方案对我不起作用:

mailtocommand += 'Pro: '+$("#prosurfername").val()+"%0D%0A";
$('#sendlink').attr('href', mailtocommand);

不会换行。两者之间都没有:

var mailtocommand = encodeURIComponent(mailtocommand);

在动态(jquery)创建的mailto中插入换行符的mailto命令是什么?

4

1 回答 1

1

据我从规范中可以看出,%0D%0A新行的正确格式是正确的,但它仅适用于 mailto 消息的正文部分。只需转到链接并搜索“line”,但以下是相关部分:

5 编码

RFC 1738 要求对 URL 中的许多字符进行编码。这会影响可能出现在地址、标题或邮件内容中的一些常见字符的 mailto 方案。一种这样的字符是空格(“”,ASCII 十六进制 20)。请注意上面的示例在邮件正文中使用“%20”作为空格。另请注意,消息正文中的换行符必须使用“%0D%0A”进行编码。

...

一个类似的 URL 可能有两行不同的“发送”请求(在这种情况下,“发送当前问题”,在下一行,“发送索引”。)

<mailto:infobot@example.com?body=send%20current-
 issue%0D%0Asend%20index>

如果没有看到所有 mailtocommand,我无法确定您的问题。看起来您正在正确添加换行符,所以我的猜测是您的 mailtocommand 设置在放入换行符之前不包含“body =”。

于 2013-06-18T18:19:13.507 回答