【问题标题】:How to fix not showing line break in body while using mailto?使用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 应用程序。

编辑[解决方案]

只需使用&lt;br&gt; 标签就可以很好地与第三方应用程序(如 gmail for android)配合使用。

【问题讨论】:

    标签: javascript php android html email


    【解决方案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 中失败。我发现有几篇帖子要求相同的stackoverflow.com/questions/40276780/…stackoverflow.com/questions/60065386/… 有同样的问题但没有任何答案,%0D%0A 应该是这样,但这似乎是 Android 中的一个 gmail 错误,因为它适用于 iOS gmail。
    • 非常感谢您分享这些帖子链接?它有效。我在这些帖子中看到一条评论说只需使用 &lt;br&gt; 即可与 gmail 等第三方应用程序一起使用。我试过了。
    • 很高兴您能解决您的问题。您可以将自己的答案添加到您的问题中,几天后您就可以将其标记为正确,这也可能对其他人有所帮助。
    【解决方案2】:

    2020 年 9 月 9 日更新 这在最近的 Gmail 版本中再次更改 - 例如版本 2020.08.09.327326543.Release - \r\n 使用 mailto: 时的换行符现在可以再次工作,而 &lt;br&gt; 不能。

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

    原答案:

    我最近在我的 Android 应用程序中发现了一个问题,当使用 mailto: 打开 Gmail 作为默认电子邮件客户端时,这些应用程序一直使用编码的 \r\n 换行。 虽然这之前工作正常,但现在换行符显示为空格。

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

    我创建了一个test page,其中包含两个链接,一个使用编码的\r\n,一个使用&lt;br&gt; 作为正文中的换行符:

    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 链接正常工作:

    &lt;br&gt; 链接没有:

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

    &lt;br&gt; 链接正常工作:

    \r\n 链接没有:

    【讨论】:

    • 对我也一样
    【解决方案3】:

    只需使用&lt;br&gt; 标签,就可以很好地与第三方应用程序(如 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-11-10
      • 2019-08-22
      • 2020-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-22
      • 1970-01-01
      • 2020-03-18
      相关资源
      最近更新 更多