在我的jQuery Mobile App中,我有一个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');
});
最后,一个函数为emailaddress,subject和message body创建链接的href属性,并通过jQuery模拟点击:
$emailAddress= ..
$subject= ....
$body=...
$emailString="mailto:"+$emailAddress+$subject+$body;
$emailLink= $("#mealMail");
$emailLink.attr("href",$emailString);
$emailLink.click();
现在,此代码完美地运行于: Mozilla桌面 Safari桌面 Android
但是没有工作: Safari Mobile Chrome桌面
有什么建议吗?
答案 0 :(得分:1)
在寻找复杂的解决方案后,我偶然发现了一个更简单的解决方案。这里的问题是,如果直接点击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参数,单击此链接时,它可以正常工作。我已经测试过以下的浏览器:
答案 1 :(得分:0)
你不应该使用mailto:
检查是否更好地创建一个简单的“联系我们”表单。
但是,请看一下:i-cant-get-mailto-links-to-open-the-mail-app-from-mobile-safari-when-using-jqto