Cara Membuat Failproof Mailto: URL

Pelajari Di mana JavaScript Membantu

Mengkodekan mailto: URL dengan benar agak tidak praktis. Ini terutama benar ketika Anda perlu menyertakan baris subjek, pesan default, atau elemen lainnya. Daripada kata-kata sederhana, Anda harus menggunakan kode hex, yang mewakili karakter ASCII yang dikodekan per RFC 1738 — Uniform Resource Locators (URL) standards. Anda tidak perlu mengingat atau membangun representasi hex ini dari atas kepala Anda, meskipun: JavaScript dapat melakukannya untuk Anda.

Fungsi encodeURIComponent () JavaScript

Fungsi encodeURIComponent () JavaScript mengkodekan string apa pun yang dilewatkan sebagai argumen dan mengembalikannya untuk digunakan. Misalnya, encodeURIComponent ("Doc, do da Dance!") Menghasilkan Doc% 2C% 20do% 20da% 20Dance! .

Ya, itu tidak jelas. Jika Anda melakukan kriptografi ini dengan tangan, kemungkinan Anda akan membuat kesalahan — tetapi JavaScript tidak akan melakukan kesalahan. Untuk menggunakan encodeURIComponent () untuk mempermudah komposisi mail Anda ke : URL, cukup ganti setiap kemunculan string di URL dengan fungsi encodeURIComponent () , yang melihat string kami sebagai argumen.

Misalnya, Anda ingin membuat mailto: URL yang memulai pesan ke recipient@example.com dengan subjek "Kapan, kapan sekarang? (Jika" sekarang "ada di sini)." URL akan terlihat seperti ini:

mailto: recipient@example.com? subject =

Subyeknya adalah string, "Kapan, kapan sekarang? (Jika" sekarang "ada di sini)." String sebagai argumen untuk encodeURIComponent () membuat yang berikut:

encodeURIComponent ("Kapan, kapan sekarang? (jika \" sekarang \ "ada di sini)") .

Hasil dari panggilan fungsi ini adalah:

Ketika% 2C% 20when% 20is% 20now% 3F% 20 (jika% 20% 22now% 22% 20is% 20di sini)

Menggunakan e ncodeURIComponent () Dengan Mailto: URL

Untuk menggunakan encodeURIComponent () di mailto : URL, buat seluruh tautan (dari "") dalam dokumen function.write () JavaScript, yang akan menulis teks apa pun ke dokumen, seolah-olah kami telah mengetiknya di sumber HTML .

Sebagai contoh: