【问题标题】:Creating email link with dynamically generated body with html5 & javascript使用 html5 和 javascript 动态生成正文创建电子邮件链接
【发布时间】:2012-02-19 07:56:45
【问题描述】:

我正在尝试创建一个链接来创建一封电子邮件以向用户发送信息,其正文需要填充由javascript函数生成的数据,希望有人能提供帮助。

理想情况下,如果我可以将下面的“body_blurb”替换为从单击时调用的 javascript 函数返回的字符串,那将是完美的。

<A HREF="mailto:you@yourdomain.com?subject=Data&body=body_blurb">e-mail data</a>

珍惜你的时间

【问题讨论】:

  • 您可以相对容易地做到这一点,但是什么事件将 body_blurb 绑定到该锚点?用户是否在邮件锚点之前点击了某些内容?
  • 您是否意识到mailto: 通常不起作用,尤其是当用户使用基于 Web 的电子邮件服务(如 Yahoo、GMail、Hotmail 等)时......因此没有本地电子邮件客户端字段 mailto: 并采取行动?

标签: javascript html email mailto


【解决方案1】:

您实际上不需要设置href 值。您真正想要做的是将浏览器发送到mailto: URL:href 只是达到此目的的一种手段。

href 留空,并使链接具有onClick 处理程序。在onClick 中,向浏览器提供mailto: URL(在使用变量构建它之后)。很快,完成。

【讨论】:

  • 嗯,所以你可以使用location.href = mailto: ...?
【解决方案2】:

我刚刚为此处的链接分配了一个 ID,但如果您愿意,您可以创建更通用的东西。创建 onclick 处理程序后,您可以使用 href 访问该 URL。将此设置为您想要的任何内容。

http://jsfiddle.net/f3ZZL/1

var link = document.getElementById('email');
link.onclick = function() {
    this.href = "mailto:you@yourdomain.com?subject=Data&body=";
    this.href += getBody();
};

function getBody() {
    return 'HelloWorld';
}

【讨论】:

  • 完美——正是我所追求的。作为进一步的解释,我正在创建一个简单的工程计算数字处理器,以便通过移动浏览器访问。用户将输入他们的变量,处理数字并获得输出。我希望能够让他们选择向自己发送输入和输出的数据集。
【解决方案3】:

这是无垃圾邮件的方法

var link = document.getElementById('email');

link.onclick = function() {
    var name = "you";
    var domain = "yourdomain.com";
    var linker = "mailto:" + name + '@' + domain + "?subject=Data&body=";
    linker += getBody();
    link.setAttribute("href", linker);
};

function getBody() {
    return 'HelloWorld';
}

On Fiddle

【讨论】:

    猜你喜欢
    • 2010-10-12
    • 2016-11-29
    • 2021-05-08
    • 1970-01-01
    • 2011-07-22
    • 1970-01-01
    • 2011-06-04
    • 2016-06-24
    • 1970-01-01
    相关资源
    最近更新 更多