2012-02-29 17 views
9

मैं एक mailto कि <a href="mailto:a&[email protected]" > तरह लिंक यह एचटीएमएल पर सही ढंग से प्रदर्शित होती है लेकिन जब हम लिंक पर क्लिक करें दृष्टिकोण बस में एक समाधान करने के लिए पता चलता है। क्या किसी को भी एक ही समस्या का सामना करना पड़ा है कृपया सुझाव दें।जारी करना?

+0

एक ampersand, एक ई-मेल पते में एक मान्य वर्ण नहीं है यह क्या है? (संपादित करें: ओह वास्तव में, [यह है।] (Http://en.wikipedia.org/wiki/E-mail_address#Valid_email_addresses)) मुझे लगता है कि प्रतिशत एन्कोडिंग आपका मित्र है तो –

+2

और 'mailto' बहुत पुराना है। आपकी साइट के 9 0% विज़िटर अपने सिस्टम मेल का उपयोग नहीं करते हैं, लेकिन जीमेल के रूप में मेल सेवा करते हैं। contactform का एक लिंक बहुत उपयोगकर्ता के अनुकूल –

उत्तर

18

Percent encoding स्ट्रिंग IE के लिए आवश्यक है और मैं ब्राउज़रों में काम करेंगे मान। this MSDN document:

विंडोज इंटरनेट एक्सप्लोरर 7 और बाद में। आपको mailto: पता के भीतर सभी यूआरएल-आरक्षित पात्रों को प्रतिशत-एन्कोड करना होगा। उदाहरण के लिए, संख्या चिह्न (#) यूआरएल में एक खंड पहचानकर्ता के रूप में प्रयोग किया जाता है। जब इस तरह के some#[email protected], इंटरनेट एक्सप्लोरर प्रतियां मेल क्लाइंट में संख्या चिह्न के लिए एक ही हिस्से के रूप में एक पते प्रसंस्करण; संख्या चिह्न सहित खंड भाग को नजरअंदाज कर दिया जाता है। यह बर्ताव डिज़ाइन के चलते है।

तो आप की जरूरत

<a href="mailto:a%26b_admin%40xyz.com"> 

के रूप में कहा, मैं उम्मीद एक प्रतिशत इनकोडिंग पते के सभी ब्राउज़रों में काम करेंगे, लेकिन मुझे यकीन है कि के लिए पता नहीं है। मैं पुष्टि कर सकता हूं कि यह क्रोम और थंडरबर्ड के साथ काम करता है।

+0

तुम रॉक, पेका है। – Konerak

+1

जावास्क्रिप्ट की यह पंक्ति ampersands को परिवर्तित करेगी, इसलिए आपको इसे हाथ से नहीं करना है: 'var emailFriendlyUrl = currentUrl.replace (/ &/g, '% 26');'। –

संबंधित मुद्दे