سؤال

أود الاحتجاج أ 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);

        });
    }
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top