mailto链接

问题描述:

在我的jQuery Mobile的应用程序,我有一个mailto链接,是动态生成的href属性,它是通过jQuery.Here“点击”是链接代码:mailto链接

<a id="mealLink" href="mailto:[email protected]" style="display: none;">This is the mailto 
link</a> 

的点击处理程序连接到它是这样的:

$('#mailLink').bind('click', function() { 
window.location.href = $(this).attr('href'); 
}); 

最后,函数创建与EMAILADDRESS,主题和邮件正文中的链接的href属性,然后单击通过jQuery模拟:

$emailAddress= .. 

$subject= .... 
$body=... 
$emailString="mailto:"+$emailAddress+$subject+$body; 
$emailLink= $("#mealMail"); 
$emailLink.attr("href",$emailString); 
$emailLink.click(); 

现在,这个代码在正常使用: Mozilla的桌面 Safari浏览器的桌面 的Android

但不工作: 的Safari移动 Chrome桌面

有什么建议?

在寻找复杂的解决方案后,我偶然发现了一个更容易的解决方案。这里的问题是,如果直接点击mailto链接,它可以在所有浏览器中运行,但是如果通过jQuery .click()函数间接点击它,它不适用于所有浏览器。因此,这里是我的实现:

<a href='#mailtolink' id="emailLink">This is a mail to link</a> 
$emailAddress= .. 

$subject= .... 
$body=... 
$emailString="mailto:"+$emailAddress+$subject+$body; 
$emailLink= $("#emailLink"); 
$emailLink.attr("href",$emailString); 

现在,这取决于应用程序的情况下,该链接的href参数可以设置并点击该链接时,它的工作原理。我在下面的browers测试:

  1. Mozilla Firefox的桌面
  2. Safari浏览器桌面
  3. Chrome的桌面
  4. iPad上
  5. 的Safari移动1
+0

记住,如果这对于公共网站是不好用的mailto。很多人不使用任何邮件客户端现在天。还有很好的解决方案。 – 2012-08-16 22:38:04

+0

我有同样的问题在哪里我最初说'window.location = mailto;'。更新标签的href attr后,它的工作完美。 – 2015-09-16 20:58:25

您不应该使用mailto:
检查是否更好创建一个简单的“联系我们”表单。 但仍然看看这个:i-cant-get-mailto-links-to-open-the-mail-app-from-mobile-safari-when-using-jqto

+0

这个解决方案仍然在Chrome桌面和Safari浏览器不工作移动和另外打破Safari桌面。 – user1107888 2012-07-26 09:24:15

+0

伤心到这里:(但你不能只创建一个简单的与我们联系形成的?只要用户接受好得多呢。邮件到最后一个,打开Outlook或相似的,但很多人不” T选用任何这现在天。 – 2012-08-03 16:34:58