استدعاء / انقر على رابط Mailto مع JQuery / JavaScript
-
28-09-2019 - |
سؤال
أود الاحتجاج أ Mailto رابط من JavaScript - هذا هو أود طريقة تتيح لي فتح عميل البريد الإلكتروني على جهاز الكمبيوتر المستخدمين ، تمامًا كما لو كانوا قد نقروا على رابط Mailto العادي.
كيف يمكنني أن أفعل هذا؟
المحلول
يمكنك استخدام window.location.href
هنا ، مثل هذا:
window.location.href = "mailto:address@dmail.com";
نصائح أخرى
يمكنك تجنب مشكلة الصفحة الفارغة التي تمت مناقشتها أعلاه عن طريق استخدام .click () مع رابط في الصفحة:
document.getElementById('mymailto').click();
...
<a href="mailto:...." id="mymailto" style="display:none"></a>
كان هذا الإجابة العاملة بالنسبة لي ، تم اختبارها في Chrome و IE و Firefox مع Outlook
window.location.href = 'mailto:address@dmail.com?subject=Hello there&body=This is the body';
%0d%0a
هل رمز الخط الجديد لجسم البريد الإلكتروني في رابط mailto
%20
هو رمز الفضاء الذي يجب استخدامه ، لكنه عمل بالنسبة لي أيضًا مع المساحة العادية
في الواقع ، هناك إمكانية لتجنب الصفحة الفارغة.
اكتشفت أنه يمكنك ببساطة إدراج iframe مع رابط Mailto في DOM. يعمل هذا على Firefox/chrome الحالي و IE (كما ستعرض IE حوار تأكيد قصير).
باستخدام jQuery ، حصلت على هذا:
var initMailtoButton = function()
{
var iframe = $('<iframe id="mailtoFrame" src="mailto:name@domain.com" width="1" height="1" border="0" frameborder="0"></iframe>');
var button = $('#mailtoMessageSend');
if (button.length > 0) {
button.click(function(){
// create the iframe
$('body').append(iframe);
//remove the iframe, we don't need it any more
window.setTimeout(function(){
iframe.remove();
}, 500);
});
}
}