Javascript 如何修复在使用mailto时正文中不显示换行?

Javascript 如何修复在使用mailto时正文中不显示换行?,javascript,php,android,html,email,Javascript,Php,Android,Html,Email,我的代码: <a href="mailto:anything@any.com?subject=This%20is%20Subject&body=Hello%0D%0A%0D%0Aworld.."> click here to mail me </a> 预期产出: 我现在得到的输出: 我尝试使用%0D%0A,但无效。我还尝试了一些java脚本方法,但这些方法似乎不起作用 我用来检查mailto:output的应用程序是安卓设备上的默认Gmail应用程序 编辑

我的代码:

<a href="mailto:anything@any.com?subject=This%20is%20Subject&body=Hello%0D%0A%0D%0Aworld..">
   click here to mail me
</a>
预期产出:

我现在得到的输出:

我尝试使用%0D%0A,但无效。我还尝试了一些java脚本方法,但这些方法似乎不起作用

我用来检查mailto:output的应用程序是安卓设备上的默认Gmail应用程序

编辑[解决方案]


仅使用标记就可以与第三方应用程序(如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>

如果您检查十六进制值,您可以看到a、D、E和20等于什么,那么您可以检查a中该值的含义。

%0D%0A是进位返回和换行字符,请使用%20作为空格,就像在主题中一样:

<a href="mailto:anything@any.com?subject=This%20is%20Subject&body=Hello%20world..">
   click here to mail me
</a>
如果您检查十六进制值,您可以检查a中的值的含义,您可以看到a、D、E和20等于多少。

只需使用标记,就可以与第三方应用程序(如gmail for android)配合使用

固定代码

只需使用标签,就可以与第三方应用程序(如android版gmail)配合使用

固定代码

更新日期:2020年9月9日 这一点在最近的Gmail版本中再次发生了更改,例如版本2020.08.09.327326543.release-\r\n在使用mailto时换行:现在再次起作用,不再起作用

我只能假设这是一个回归错误,而不是Gmail应用程序中的故意更改,现在已经修复

原始答复:

我最近看到我的Android应用程序中出现了一个问题,在使用mailto:open Gmail作为默认电子邮件客户端时,\r\n使用encoded作为换行符。 虽然这以前工作正常,但现在换行符显示为一个空格

在做了一些测试后,Gmail应用程序的行为在最近的一次更新中似乎发生了变化

我创建了一个包含两个链接的链接,一个使用编码的链接,另一个用于正文中的换行符:

mailto:anything@any.com?body=Hello%0D%0Aworld
mailto:anything@any.com?body=Hello<br>world

在运行Android 10/API 29的Android模拟器中,Gmail应用程序版本为2019.05.12.250526289.release:

链接工作正常\r\n:

但该链接没有:

在运行Android 11 Beta/API 30的Android模拟器中,Gmail应用程序版本为2020.04.29.309137422.release:

链接工作正常:

但是\r\n链接没有:

更新日期:2020年9月9日 这一点在最近的Gmail版本中再次发生了更改,例如版本2020.08.09.327326543.release-\r\n在使用mailto时换行:现在再次起作用,不再起作用

我只能假设这是一个回归错误,而不是Gmail应用程序中的故意更改,现在已经修复

原始答复:

我最近看到我的Android应用程序中出现了一个问题,在使用mailto:open Gmail作为默认电子邮件客户端时,\r\n使用encoded作为换行符。 虽然这以前工作正常,但现在换行符显示为一个空格

在做了一些测试后,Gmail应用程序的行为在最近的一次更新中似乎发生了变化

我创建了一个包含两个链接的链接,一个使用编码的链接,另一个用于正文中的换行符:

mailto:anything@any.com?body=Hello%0D%0Aworld
mailto:anything@any.com?body=Hello<br>world

在运行Android 10/API 29的Android模拟器中,Gmail应用程序版本为2019.05.12.250526289.release:

链接工作正常\r\n:

但该链接没有:

在运行Android 11 Beta/API 30的Android模拟器中,Gmail应用程序版本为2020.04.29.309137422.release:

链接工作正常:

但是\r\n链接没有:


我需要一个断线,就像你在第一行说的那样,我需要回报。。不是空间。我知道%20用于空格,发现%0D%0A用于换行。但是,当我使用它时,它不起作用。请仔细阅读我的问题或expexted输出,或者至少我的标题本身说我需要换行。请查看我最近的帖子,我在gmail应用程序Android上试用过。你是不是也尝试过同样的方法,而且效果很好?我点击网站href mailto:它重定向到手机上的gmail应用程序,并没有像我在预期输出中所显示的那样断线,它是android的gmail应用程序。大多数用户都会从我的网站上给我发邮件,我想你在pc上签了名,是的,在pc浏览器上测试对我来说很有效。没错,在pc上测试更快。只有在android上的gmail会失败。我发现有几篇帖子问同样的问题,但没有任何答案,%0D%0A应该是这样,但这似乎是Android中的一个gmail错误,因为它在iOS gmail上工作。非常感谢分享这些帖子链接,我很高兴你能解决你的问题。你可以给你的问题加上你自己的答案,几天后你就可以把它标记为正确的,这可能对其他人也有帮助。我需要一个断行,就像你在第一行所说的那样,我需要返回。。不是空间。我知道%20用于空格,发现%0D%0A用于换行。但是,当我使用它时,它不起作用。请仔细阅读我的问题或expexted输出,或者至少我的标题本身说我需要换行。
请查看我最近的帖子,我在gmail应用程序Android上试用过。你是不是也尝试过同样的方法,而且效果很好?我点击网站href mailto:它重定向到手机上的gmail应用程序,并没有像我在预期输出中所显示的那样断线,它是android的gmail应用程序。大多数用户都会从我的网站上给我发邮件,我想你在pc上签了名,是的,在pc浏览器上测试对我来说很有效。没错,在pc上测试更快。只有在android上的gmail会失败。我发现有几篇帖子问同样的问题,但没有任何答案,%0D%0A应该是这样,但这似乎是Android中的一个gmail错误,因为它在iOS gmail上工作。非常感谢分享这些帖子链接,我很高兴你能解决你的问题。你可以在你的问题上加上你自己的答案,几天后你就可以把它标记为正确的,这可能对其他人也有帮助