JQuery / जावास्क्रिप्ट के साथ एक mailto लिंक को आमंत्रित / क्लिक करें


82

मैं जावास्क्रिप्ट से एक mailto लिंक प्राप्त करना चाहता हूँ - कि मैं एक तरीका है जो मुझे उपयोगकर्ताओं को पीसी पर ईमेल क्लाइंट को खोलने की अनुमति देता है, ठीक वैसे ही जैसे वे एक सामान्य mailto लिंक पर क्लिक किया था।

मैं यह कैसे कर सकता हूँ?


काम का उदाहरण: jsfiddle.net/gaboom/h81qov5g
sibidiba

1
कोशिश<button onclick="window.open('mailto:KingRider<contato@sandroalvares.com.br>');">Contact me</button>
KingRider

जवाबों:


138

आप window.location.hrefयहाँ इस तरह का उपयोग कर सकते हैं :

window.location.href = "mailto:address@dmail.com";

3
और मैं एक निकाय को कैसे जोड़ूंगा? mailto: address@dmail.com? body = myBody और mailto: address@dmail.com& myBody मेरे लिए काम नहीं करता ...
Max

@jipiboily, क्या आप कृपया अधिक समझा सकते हैं? आपने कौन सा ब्राउज़र आज़माया है और यह काम नहीं किया है?
आदि

@ मुझे जो याद है, वह ओपेरा और शायद अधिक ब्राउज़रों के साथ काम नहीं करता है। अपनी आवश्यकताओं के आधार पर, आप उस समस्या को हल करने में सक्षम हो सकते हैं।
जिपिबिली

@ रॉल्फ मैंने अभी नवीनतम क्रोम स्थिर में परीक्षण किया, अभी भी काम कर रहा है।
निक Craver

9
अधिकतम, आपने संभवतः इसे समझ लिया है, लेकिन भविष्य के पाठकों के लिए window.location.href = 'mailto:address@dmail.com&subject=Hello there&body=This is the body';:। नहीं ?और नहीं &amp;, बस&
cssyphus

9

आप पृष्ठ पर एक लिंक के साथ .click () का उपयोग करके ऊपर चर्चा किए गए रिक्त पृष्ठ समस्या से बच सकते हैं:

document.getElementById('mymailto').click();
...
<a href="mailto:...." id="mymailto" style="display:none"></a>

मैंने यह कोशिश की: `फ़ंक्शन कॉल () {document.getElementById ('mymailto'); क्लिक करें (); } <a href="tel:+48123456" id="mymailto" style="display:none"> </a> और `नया टैब अभी भी खुला है।
योदा

3

मेरे लिए काम का जवाब, क्रोम, IE और फ़ायरफ़ॉक्स में एक साथ आउटलुक के साथ परीक्षण किया गया था

window.location.href = 'mailto:address@dmail.com?subject=Hello there&body=This is the body';

%0d%0a एक mailto लिंक में ईमेल बॉडी का नया लाइन सिंबल है

%20 अंतरिक्ष प्रतीक है जिसका उपयोग किया जाना चाहिए, लेकिन इसने मेरे साथ-साथ सामान्य स्थान के लिए भी काम किया


1

दरअसल, खाली पेज से बचने के लिए एक ऑबिलिबिलिटी है।

मुझे पता चला, आप बस डोम में मेलो लिंक के साथ एक आइफ्रेम डाल सकते हैं। यह वर्तमान फ़ायरफ़ॉक्स / क्रोम और 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);

        });
    }
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.