Creating email link with dynamically generated body with html5 & javascript

点点圈 提交于 2020-01-14 18:59:03

问题


Am trying to create a link to create an email to send information to the user, the body of which needs to be filled with data generated by a javascript function, and hope that someone can help.

Idealy, if I could substitute the 'body_blurb' below, with a string returned from a javascript function called at the time of clicking that'd be perfect.

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

Appreciate your time


回答1:


I just assigned an id to the link here, but you could create something more generic if you wanted. Once you have an onclick handler created you can access the url with href. Set this to whatever you want.

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';
}



回答2:


Here is the no-spam method

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();
    document.location(linker);
};

function getBody() {
    return 'HelloWorld';
}

Fiddle




回答3:


You don't actually need to set the href value. What you're really trying to do is send the browser to a mailto: URL: the href is just a means to that end.

Leave the href blank and make the link have an onClick handler. In the onClick, feed the browser the mailto: URL (after you build it using your variable). Presto, done.



来源:https://stackoverflow.com/questions/9014470/creating-email-link-with-dynamically-generated-body-with-html5-javascript

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!