使用mailto时如何解决正文中不显示换行符的问题?
Posted
技术标签:
【中文标题】使用mailto时如何解决正文中不显示换行符的问题?【英文标题】:How to fix not showing line break in body while using mailto? 【发布时间】:2020-07-25 22:02:38 【问题描述】:我的代码:
<a href="mailto:anything@any.com?subject=This%20is%20Subject&body=Hello%0D%0A%0D%0Aworld..">
click here to mail me
</a>
预期输出:
我现在得到的输出:
我尝试使用%0D%0A
,但它不起作用。我还尝试了here 的一些 java 脚本方法,但这些方法似乎不起作用。
我用来检查 mailto 的应用程序:输出是我 android 设备上的默认 Gmail 应用程序。
编辑[解决方案]
只需使用<br>
标签就可以很好地与第三方应用程序(如 gmail for android)配合使用。
【问题讨论】:
【参考方案1】:%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 table 中的这些值的含义,您会看到 A、D、E 和 20 等于什么。
【讨论】:
我需要一个换行符,就像你在第一行所说的那样,我需要返回......不是空格。我知道 %20 用于空间,发现 %0D%0A 用于换行。但是,当我使用它时,它不起作用。请仔细阅读我的问题或expexted输出,或者至少我的标题本身说我需要换行。 ? 请查看我的帖子最后报价,我在 gmail 应用 Android 中尝试过。你是否也尝试过同样的工作?我点击网站href mailto:它重定向到移动设备上的gmail应用程序并且没有换行符,因为我在预期的输出中显示它是android的gmail应用程序。 (大多数用户曾经从我的网站向我发送邮件),我认为你在 pc 中签入,是的,在 pc 浏览器中对我有用。 你说得对,在电脑上测试更快。仅在 android 中的 gmail 中失败。我发现有几篇帖子要求相同的***.com/questions/40276780/… 和***.com/questions/60065386/… 有同样的问题但没有任何答案,%0D%0A
应该是这样,但这似乎是 Android 中的一个 gmail 错误,因为它适用于 ios gmail。
非常感谢您分享这些帖子链接?它有效。我在这些帖子中看到一条评论说只需使用 <br>
即可与 gmail 等第三方应用程序一起使用。我试过了。
很高兴您能解决您的问题。您可以将自己的答案添加到您的问题中,几天后您就可以将其标记为正确,这也可能对其他人有所帮助。【参考方案2】:
2020 年 9 月 9 日更新
这在最近的 Gmail 版本中再次更改 - 例如版本 2020.08.09.327326543.Release
- \r\n
使用 mailto:
时的换行符现在可以再次工作,而 <br>
不能。
我只能假设这是一个回归错误,而不是现在已修复的 Gmail 应用中的故意更改。
原答案:
我最近在我的 Android 应用程序中发现了一个问题,当使用 mailto:
打开 Gmail 作为默认电子邮件客户端时,这些应用程序一直使用编码的 \r\n
换行。
虽然这之前工作正常,但现在换行符显示为空格。
在进行一些测试后,Gmail 应用的行为似乎在最近的更新中发生了变化。
我创建了一个test page,其中包含两个链接,一个使用编码的\r\n
,一个使用<br>
作为正文中的换行符:
mailto:anything@any.com?body=Hello%0D%0Aworld
mailto:anything@any.com?body=Hello<br>world
在运行 Android 10/API 29 且 Gmail 应用版本为 2019.05.12.250526289.release
的 Android 模拟器中:
\r\n
链接正常工作:
但<br>
链接没有:
在运行 Android 11 Beta/API 30 且 Gmail 应用版本为 2020.04.29.309137422.release
的 Android 模拟器中:
<br>
链接正常工作:
但\r\n
链接没有:
【讨论】:
对我也一样【参考方案3】:只需使用<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>
【讨论】:
以上是关于使用mailto时如何解决正文中不显示换行符的问题?的主要内容,如果未能解决你的问题,请参考以下文章