【问题标题】:Large mailto links do not open in Chrome [duplicate]大型 mailto 链接无法在 Chrome 中打开 [重复]
【发布时间】:2020-09-21 15:56:04
【问题描述】:

我有一个javascript 脚本,我可以在其中动态更改href 属性并触发click 事件。

var href = 'mailto:custom@outlook.com?subject=TestSubject&body=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';
var element = document.getElementById('mail-link');
element.setAttribute('href', href);
element.click();
<a href="#" id="mail-link" style="display: none;"></a>

但是,上面的脚本在Google Chrome 中似乎没有任何作用。另一方面,它在Mozilla Firefox 上工作得非常好,结果是它打开了默认的mail client,并带有适当的邮件收件人、主题和正文。

我还注意到,如果我将href 更改为更短的值,那么Google Chrome 会设法打开mail client

var href = 'mailto:custom@outlook.com?subject=TestSubject&body=aaaaaaaa';

是否可以让Google Chrome 打开大的mailto 链接?

【问题讨论】:

  • 控制台有错误吗?
  • 它在 MacOS 上的 Chrome 中运行良好。
  • @Barmar 控制台没有错误。
  • 在 Windows 10 上测试。Chrome 不会打开超过 2042 个字符的“mailto”字符串,而 Firefox 则没有此限制。

标签: javascript google-chrome firefox mailto


【解决方案1】:

我很确定正文不打算作为消息的第一个字段。它适用于短文本消息,而不是您习惯看到的长正文,例如……长正文。

签出this

【讨论】:

  • 它正在为Mozilla Firefox工作
  • 我会说看看这个stackoverflow.com/questions/37871312/… 我敢打赌,FireFox 的字符数限制比 Chrome 高。但我不是测试它的人。将您的版本与其他人的回答进行比较。我也对IE很好奇。它是否也在 Edge 中工作,因为它使用的是 Chromium...我敢打赌它也会失败。
【解决方案2】:

看看how to get around chrome mailto maxlength limit。有一个建议是模拟一个邮件客户端来忽略这个问题。

【讨论】:

  • 只有链接的答案效果不佳。尝试包含相关代码块和解释,以便问题发布者更好地响应。
  • 我在该页面上没有看到任何提及“邮件”的内容。
猜你喜欢
  • 2016-03-28
  • 1970-01-01
  • 2014-03-14
  • 2020-06-26
  • 1970-01-01
  • 1970-01-01
  • 2018-09-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多