mailto链接在Chrome和Safari Mobile中不起作用



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

<a id="mealLink" href="mailto:123@123.com" style="display: none;">This is the mailto 
link</a>

点击处理程序如下所示:

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

最后,一个函数为带有电子邮件地址、主题和消息正文的链接创建href属性,并通过jQuery:模拟点击

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

现在,此代码在以下环境中运行良好:Mozilla桌面Safari桌面安卓

但不适用于:Safari MobileChrome桌面

有什么建议吗?

在搜索了复杂的解决方案后,我偶然发现了一个更简单的解决方案。这里的问题是,如果直接点击mailto链接,它在所有浏览器中都可以工作,但如果间接点击,例如通过jQuery.colick()函数,它并不能在所有浏览器上工作。因此,这里是我的实现:

<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参数,当单击该链接时,它就会工作。我测试了以下浏览器:

  1. Mozilla Firefox桌面
  2. Safari桌面
  3. Chrome桌面
  4. ipad 1上的Safari手机

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

最新更新