[英]How to fix not showing line break in body while using mailto?
我的代码:
<a href="mailto:anything@any.com?subject=This%20is%20Subject&body=Hello%0D%0A%0D%0Aworld..">
click here to mail me
</a>
预期 output:
我现在得到的是 output:
我尝试使用%0D%0A
但它不起作用。 我也从这里尝试了一些 java 脚本方法,但这些方法似乎不起作用。
我用来检查邮件的应用程序:output 是我的 android 设备中的默认 Gmail 应用程序。
编辑[解决方案]
只需使用<br>
标签即可与第三方应用程序(例如 gmail for android)一起正常工作。
%0D%0A 是进位返回和换行字符,使用 %20 作为空格,就像您在主题中所做的那样:
<a href="mailto:anything@any.com?subject=This%20is%20Subject&body=Hello%20world..">
click here to mail me
</a>
如果您想要换行符,请使用%0D%0A
,如下所示:
<a href="mailto:anything@any.com?subject=This%20is%20Subject&body=Hello%0D%0Aworld..">
click here to mail me
</a>
如果您检查十六进制值,您可以查看这些值在ascii 表中的含义,您会看到 A、D、E 和 20 等于什么。
只需使用<br>
标签,就可以很好地与第三方应用程序(例如 gmail for android)配合使用。
固定代码,
<a href="mailto:anything@any.com?subject=This%20is%20Subject&body=Hello<br><br>world..">
click here to mail me
</a>
2020 年 9 月 9 日更新这已在最近的 Gmail 版本中再次更改 - 例如版本2020.08.09.327326543.Release
- \r\n
用于使用mailto:
现在再次起作用,而<br>
不起作用。
我只能假设这是一个回归错误,而不是 Gmail 应用程序的故意更改,该应用程序现已修复。
原答案:
我最近在我的 Android 应用程序中看到了一个问题,这些应用程序在使用mailto:
时一直使用编码的\r\n
换行符:打开 Gmail 作为默认的 email 客户端。 虽然这以前工作正常,但现在换行符显示为一个空格。
在进行一些测试后,Gmail 应用程序的行为似乎在最近的更新中发生了变化。
我创建了一个包含两个链接的测试页面,一个使用编码的\r\n
,一个使用<br>
用于正文中的换行符:
mailto:anything@any.com?body=Hello%0D%0Aworld
mailto:anything@any.com?body=Hello<br>world
在 Android 仿真器中运行 Android 10/API 29 和 Gmail 应用程序版本2019.05.12.250526289.release
:
\r\n
链接正常工作:
但是<br>
链接没有:
在运行 Android 11 Beta/API 30 和 Gmail 应用程序版本2020.04.29.309137422.release
的 Android 仿真器中:
<br>
链接正常工作:
但是\r\n
链接没有:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.