រៀនកន្លែងដែល JavaScript ជួយ
អ៊ីម៉ែលអ៊ិនកូដ : URLs ត្រឹមត្រូវគឺមានភាពស្មុគស្មាញបន្តិច។ នេះជាការពិតនៅពេលអ្នកត្រូវបញ្ចូលបន្ទាត់ប្រធានបទសារលំនាំដើមឬ ធាតុ ផ្សេងទៀត។ ជាជាងពាក្យសាមញ្ញអ្នកត្រូវប្រើកូដ hex ដែលតំណាងតួអក្សរ ASCII ដែលត្រូវបានអ៊ិនកូដក្នុង RFC 1738-Standard Locator (URL) ស្តង់ដារ។ អ្នកមិនចាំបាច់ចងចាំឬបង្កើតតំណាងគោលដប់ប្រាំមួយនៅខាងលើក្បាលរបស់អ្នកនោះទេ: JavaScript អាចធ្វើវាបានសម្រាប់អ្នក។
អនុគមន៍ JavaScript encodeURIComponent () អនុគមន៍
មុខងារ JavaScript encodeURIComponent () អ៊ិនកូដខ្សែអក្សរដែលវាត្រូវបានហុចជាអាគុយម៉ង់និងត្រឡប់វាសម្រាប់ប្រើ។ ឧទាហរណ៏, encodeURIComponent ("Doc, ធ្វើដា Dance!") បង្កើត Doc% 2C% 20do% 20da% 20Dance! ។
បាទ, វាជាការមិនច្បាស់លាស់។ ប្រសិនបើអ្នកធ្វើការគ្រីបនេះដោយដៃឱកាសគឺអ្នកនឹងធ្វើកំហុស - ប៉ុន្តែ JavaScript នឹងមិនមានទេ។ ដើម្បីប្រើ encodeURIComponent () ដើម្បីបន្ធូរភាពសមាសធាតុនៃ mailto របស់អ្នក : URLs គ្រាន់តែជំនួសការកើតឡើងនៃខ្សែអក្សរណាមួយនៅក្នុង URL ដែលមានមុខងារ encodeURIComponent () ដែលមើលឃើញខ្សែអក្សររបស់យើងជាអាគុយម៉ង់មួយ។
ឧទាហរណ៍និយាយថាអ្នកចង់បង្កើត mailto: URL ដែលផ្តួចផ្តើមសារមួយទៅ អ្នកទទួលអ៊ីម៉ែលអ្នក ដែលមានប្រធានបទថា "តើនៅពេលណា? (ប្រសិនបើ" ឥឡូវនេះ "នៅទីនេះ) ។ " URL នឹងមើលទៅដូចនេះ:
mailto: recipient@example.com? ប្រធានបទ = <ប្រធានបទ>
ប្រធានបទគឺជាខ្សែអក្សរ "ពេលណាឥឡូវនេះ?" (បើ "ឥឡូវ" នៅទីនេះ) ។ " ខ្សែអក្សរជាអាគុយម៉ង់មួយដើម្បី encodeURIComponent () បង្កើតដូចខាងក្រោម:
ធាតុអ៊ិនកូដឌីជីថល ("ពេលណា, ពេលណា?" (ប្រសិនបើ \ "ឥឡូវនេះ \" នៅទីនេះ) " ។
លទ្ធផលនៃការហៅមុខងារនេះគឺ:
នៅពេល% 2C% 20when% 20is% 20now% 3F% 20 (ប្រសិនបើ% 20% 22now% 22% 20is% 20 នៅទីនេះ)
ការប្រើប្រាស់អ៊ីកូដកូដ () ជាមួយ Mailto: URLs
ដើម្បីប្រើ encodeURIComponent () ក្នុងអ៊ីមែលទៅ URL ចងក្រងតំណទាំងមូល (ពី " ") នៅក្នុង JavaScript function.write () ដែលនឹងសរសេរអត្ថបទណាមួយ ឯកសារ, ដូចជាប្រសិនបើយើងបានវាយវានៅក្នុង ប្រភព HTML ។
ឧទាហរណ៍:
("នៅពេលដែលនៅពេលនេះ? (ប្រសិនបើ \" ឥលូវនេះ \ "មាន)" ។ នៅទីនេះ) ") +" \ "> ផ្ញើមកខ្ញុំ! ") script>
ដោយប្រើ អ្នកប្រាប់កម្មវិធីអ៊ីម៉ែលរបស់អ្នកដើម្បី សរសេរ () អ្វីមួយនៅទីតាំងបច្ចុប្បន្ននៅក្នុងឯកសារដែលត្រូវបានបង្កើតឡើងដោយបីផ្នែកគឺការចាប់ផ្តើមនៃសំបុត្រទៅ : តំណដូចដែលយើងដឹងហើយបន្ទាប់មកការគេចខ្លួន ខ្សែអក្សរបន្តដោយស្លាកបញ្ចប់។