Javascript在mailto正文中添加换行符
我正在使用表单中的值设置电子邮件的正文Javascript在mailto正文中添加换行符,javascript,html,Javascript,Html,我正在使用表单中的值设置电子邮件的正文 firstname = bob lastname = dole ebody = 'First Name: ' + firstname + '\r\n' + 'Last Name: ' + lastname window.location.href = 'mailto:myemail@mycompany.com?subject=test email&body=' + ebody; 如果我做了一个“警报(乌木);”我会得到名
firstname = bob
lastname = dole
ebody = 'First Name: ' + firstname + '\r\n' + 'Last Name: ' + lastname
window.location.href = 'mailto:myemail@mycompany.com?subject=test
email&body=' + ebody;
如果我做了一个“警报(乌木);”我会得到名字之间的换行符&
但是,当它打开outlook时,整个ebody字符串
在电子邮件正文中不显示换行符
我也试过了。有什么东西能给你一句话吗
休息
提前感谢我希望outlook尝试将其输出为html/富文本,因此在这种情况下,您需要以下内容(包括urlencoded br标记): 表示mailto正文内容必须是URL编码的,对通常在URL中编码的字符使用%转义形式。这些字符包括空格和(如2368年第5节中明确指出的)CR和LF 你可以通过写作来做到这一点
ebody = 'First%20Name:%20' + firstname + '%0D%0A' + 'Last%20Name:%20' + lastname;
但是让JavaScript为您进行转义更容易、更好,如下所示:
ebody = 'First Name: ' + firstname + '\r\n' + 'Last Name: ' + lastname;
ebody = encodeURIComponent(ebody);
这不仅可以避免您识别和查找需要在固定文本中编码的字符的十六进制值,还可以在
firstname
和lastname
变量中对任何愚蠢的字符进行编码。您只需使用编码%0D%0A
进行换行即可
firstname = 'Aung ';
lastname = 'Kyaw Zaw';
ebody = 'First Name: ' + firstname + '%0D%0A' + 'Last Name: ' + lastname;
window.location.href = 'mailto:myemail@mycompany.com?subject=testemail&body=' + ebody;
有时,当您使用HTML/JavaScript从SharePoint内容编辑器Web部件打开outlook时。那么你也需要考虑下面的选项。 使用代码- %0D%0A%0D%0A 换一条新线路
只是一个想法,您是否尝试过像\\r\\n
那样转义反斜杠?是否尝试过对字符进行编码?-><代码>%0D%0A您的电子邮件的MIME类型是text/plain吗?Outlook可能试图将其解释为富文本。
firstname = 'Aung ';
lastname = 'Kyaw Zaw';
ebody = 'First Name: ' + firstname + '%0D%0A' + 'Last Name: ' + lastname;
window.location.href = 'mailto:myemail@mycompany.com?subject=testemail&body=' + ebody;