मैं जावास्क्रिप्ट से एक mailto लिंक प्राप्त करना चाहता हूँ - कि मैं एक तरीका है जो मुझे उपयोगकर्ताओं को पीसी पर ईमेल क्लाइंट को खोलने की अनुमति देता है, ठीक वैसे ही जैसे वे एक सामान्य mailto लिंक पर क्लिक किया था।
मैं यह कैसे कर सकता हूँ?
मैं जावास्क्रिप्ट से एक mailto लिंक प्राप्त करना चाहता हूँ - कि मैं एक तरीका है जो मुझे उपयोगकर्ताओं को पीसी पर ईमेल क्लाइंट को खोलने की अनुमति देता है, ठीक वैसे ही जैसे वे एक सामान्य mailto लिंक पर क्लिक किया था।
मैं यह कैसे कर सकता हूँ?
<button onclick="window.open('mailto:KingRider<contato@sandroalvares.com.br>');">Contact me</button>
जवाबों:
आप window.location.href
यहाँ इस तरह का उपयोग कर सकते हैं :
window.location.href = "mailto:address@dmail.com";
window.location.href = 'mailto:address@dmail.com&subject=Hello there&body=This is the body';
:। नहीं ?
और नहीं &
, बस&
आप पृष्ठ पर एक लिंक के साथ .click () का उपयोग करके ऊपर चर्चा किए गए रिक्त पृष्ठ समस्या से बच सकते हैं:
document.getElementById('mymailto').click();
...
<a href="mailto:...." id="mymailto" style="display:none"></a>
मेरे लिए काम का जवाब, क्रोम, IE और फ़ायरफ़ॉक्स में एक साथ आउटलुक के साथ परीक्षण किया गया था
window.location.href = 'mailto:address@dmail.com?subject=Hello there&body=This is the body';
%0d%0a
एक mailto लिंक में ईमेल बॉडी का नया लाइन सिंबल है
%20
अंतरिक्ष प्रतीक है जिसका उपयोग किया जाना चाहिए, लेकिन इसने मेरे साथ-साथ सामान्य स्थान के लिए भी काम किया
दरअसल, खाली पेज से बचने के लिए एक ऑबिलिबिलिटी है।
मुझे पता चला, आप बस डोम में मेलो लिंक के साथ एक आइफ्रेम डाल सकते हैं। यह वर्तमान फ़ायरफ़ॉक्स / क्रोम और 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);
});
}
}