每当用户点击图片时,我想用“收件人地址”打开一个新的Outlook邮件模板。我已经在html页面中返回我的代码(与图像链接),每当加载javascript时应该打开一个新的邮件模板。但功能不起作用。请告诉我代码中的错误。
body onLoad="redirect()"
script language="JavaScript"
function redirect()
var email = "xyz@something.com"
var mailto_link = 'mailto:' + email
window = window.open(mailto_link, 'emailWindow')
if (window && window.open && !window.closed)
window.close()
答案 0 :(得分:60)
不需要jQuery。而且没有必要打开一个新窗口。不会将HTTP数据返回给浏览器的协议(mailto:
,irc://
,magnet:
,ftp://
(< - 它取决于它的实现方式,通常是浏览器可以在同一窗口中查询内置的FTP客户端,而不会丢失当前内容。在你的情况下:
function redirect()
{
window.location.href = "mailto:mail@example.org";
}
<body onload="javascript: redirect();">
或直接
<body onload="javascript: window.location.href='mailto:mail@example.org';">
答案 1 :(得分:22)
请找到code in jsFiddle。它使用jQuery来修改链接的href。您可以使用任何其他库。它应该工作。
HTML
<a id="emailLnk" href="#">
<img src="http://ssl.gstatic.com/gb/images/j_e6a6aca6.png">
</a>
JS
$(document).ready(function() {
$("#emailLnk").attr('href',"mailto:xyz@something.com");
});
<强>更新强>
另一个代码示例,如果id仅在click事件期间知道
$(document).ready(function() {
$("#emailLnk").click(function()
{
alert('h');
document.location.href = "mailto:xyz@something.com";
});
});
答案 2 :(得分:9)
使用JavaScript,您可以使用以下内容“动态”创建链接:
var mail = document.createElement("a");
mail.href = "mailto:mail@example.org";
mail.click();
浏览器将其重定向到计算机上安装的某个邮件客户端,而不会丢失当前窗口的内容......并且您不需要任何像“jQuery”这样的API。
答案 3 :(得分:4)
我只是使用了这个javascript代码(使用jquery,但并不是绝对必要的):
$( "#button" ).on( "click", function(event) {
$(this).attr('href', 'mailto:me@domain.com?subject=hello');
});
当用户点击链接时,我们会替换所点击元素的href属性。
小心不要阻止默认的comportment(event.preventDefault),我们必须让它做,因为我们刚刚更换了href去哪里
我认为机器人无法看到它,地址可以防止垃圾邮件。
答案 4 :(得分:4)
您可以使用简单的mailto
,请参阅下面的简单标记。
<a href="mailto:name@gmail.com">Click here to mail</a>
点击后,它将打开您的Outlook或您设置的任何电子邮件客户端。
答案 5 :(得分:0)
我不知道它是否有帮助,但是我使用jQuery隐藏电子邮件地址:
$(function() {
// planque l'adresse mail
var mailSplitted
= ['mai', 'to:mye', 'mail@', 'addre', 'ss.fr'];
var link = mailSplitted.join('');
link = '<a href="' + link + '"</a>';
$('mytag').wrap(link);
});
我希望这会有所帮助。