كيفية بناء Mailto الفشل: عناوين المواقع

تعلم أين تساعد جافا سكريبت في الخروج

ترميز mailto: عناوين URL بشكل صحيح مرهقة بعض الشيء. هذا صحيح بشكل خاص عندما تحتاج إلى تضمين سطر موضوع أو رسالة افتراضية أو عناصر أخرى. بدلاً من الكلمات البسيطة ، يجب عليك استخدام رموز عرافة ، والتي تمثل أحرف ASCII التي تم ترميزها وفقًا لمعيار RFC 1738 - معايير محدد موقع المعلومات (URL). لا تحتاج إلى تذكر أو إنشاء هذه التمثيلات السداسية من أعلى رأسك ، على الرغم من ذلك: تستطيع جافا سكريبت القيام بذلك نيابة عنك.

دالة encodeURIComponent () JavaScript

تقوم الدالة encodeURIComponent () JavaScript بترميز أي سلسلة يتم تمريرها كوسيطة وتقوم بإرجاعها للاستخدام. على سبيل المثال ، تقوم encodeURIComponent ("Doc، do da Dance!") بإنتاج Doc٪ 2C٪ 20do٪ 20da٪ 20Dance! .

نعم ، هذا غامض. إذا قمت بإجراء هذا التشفير يدويًا ، فمن المحتمل أنك سترتكب خطأً ، ولكن لن تفعله جافا سكريبت. لاستخدام encodeURIComponent () لتسهيل تكوين mailto : URLs ، قم باستبدال أي تواجد لسلسلة في URL باستخدام الدالة encodeURIComponent () ، والتي ترى السلسلة الخاصة بنا كوسيطة.

على سبيل المثال ، لنفترض أنك تريد إنشاء mailto: عنوان URL الذي يبدأ رسالة إلى recipient@example.com مع موضوع "متى ، متى الآن؟ (إذا كان" الآن "هنا)." سيبدو عنوان URL هكذا:

ميلتو: recipient@example.com الموضوع = <موضوع>

الموضوع هو السلسلة ، "متى ، متى الآن؟ (إذا كان" الآن "هنا)." يجعل السلسلة كوسيطة لـ encodeURIComponent () ما يلي:

encodeURIComponent ("متى ، متى الآن؟ (إذا كان \" الآن \ "هنا)") .

نتيجة استدعاء هذه الوظيفة هو:

عندما٪ 2C٪ 20when٪ 20is٪ 20now٪ 3F٪ 20 (إن٪ 20٪ 22now٪ 22٪ 20is٪ 20here)

باستخدام e ncodeURIComponent () مع Mailto: عناوين URL

لاستخدام encodeURIComponent () في mailto : URL ، أنشئ الرابط بالكامل (من "") داخل document JavaScript document.write () ، والذي سيكتب أي نص إلى المستند ، تمامًا كما لو أننا كتبناه في مصدر HTML .

فمثلا: