เรียนรู้ที่ JavaScript ช่วยออก
การเข้ารหัส mailto: URL ที่ถูกต้องเป็นเรื่องที่ยุ่งยาก โดยเฉพาะเมื่อคุณต้องการรวมหัวเรื่องข้อความเริ่มต้นหรือ องค์ประกอบ อื่น ๆ แทนที่จะใช้คำง่ายๆคุณต้องใช้รหัส hex ซึ่งแสดงถึงอักขระ ASCII ที่เข้ารหัสตามมาตรฐาน RFC 1738-Uniform Resource Locators (URL) คุณไม่จำเป็นต้องจดจำหรือสร้างเอกสารเหล่านี้ไว้ที่ด้านบนของศีรษะแม้ว่า JavaScript สามารถทำเพื่อคุณได้
ฟังก์ชัน JavaScript encodeURIComponent ()
ฟังก์ชัน encodeURIComponent () ของ JavaScript เข้ารหัสสตริงที่ได้รับเป็นอาร์กิวเมนต์และส่งคืนค่าสำหรับใช้งาน ตัวอย่างเช่น encodeURIComponent ("Doc, do dance dance!") สร้าง Doc% 2C% 20do% 20da% 20Dance! .
ใช่มันไม่ชัดเจน ถ้าคุณทำแบบเข้ารหัสนี้ด้วยมือคุณมีโอกาสที่จะทำผิดพลาด แต่ JavaScript จะไม่ทำ ในการใช้ องค์ประกอบ encodeURIComponent () เพื่อลดองค์ประกอบของ mailto : URLs เพียงแค่แทนที่การเกิดสตริงใน URL ด้วย ฟังก์ชัน encodeURIComponent () ซึ่งจะเห็นสตริงของเราเป็นอาร์กิวเมนต์
ตัวอย่างเช่นสมมติว่าคุณต้องการสร้าง mailto: URL ที่เริ่มต้นข้อความไปที่ recipient@example.com โดยมีหัวเรื่องว่า "When, when is now?" (ถ้า "now" อยู่ที่นี่) " URL จะมีลักษณะดังนี้:
mailto: recipient@example.com เรื่อง = <เรื่อง>
เรื่องคือสตริง "เมื่อไหร่ตอนนี้ (ถ้า" ตอนนี้ "อยู่ที่นี่)" สตริงที่เป็นอาร์กิวเมนต์เพื่อ encodeURIComponent () ทำให้เกิดสิ่งต่อไปนี้:
encodeURIComponent ("When, when is now? (ถ้า \" now \ "อยู่ที่นี่)")
ผลของการเรียกฟังก์ชันนี้คือ:
เมื่อ% 2C% 20when% 20is% 20now% 3F% 20 (ถ้า% 20% 22now% 22% 20is% 20here)
ใช้ e ncodeURIComponent () กับ Mailto: URLs
หากต้องการใช้ encodeURIComponent () ใน mailto : URL ให้เขียนลิงก์ทั้งหมด (จาก " ") ภายใน JavaScript document.write () ซึ่งจะเขียนข้อความใด ๆ เอกสารเช่นเดียวกับที่เราได้พิมพ์ลงใน ซอร์สโค้ด HTML
ตัวอย่างเช่น: