Kuidas ehitada ebaõnnestuva Mailto: URL-id

Õpi kus JavaScript aitab

Mailto kodeerimine : URL-id korrektselt on natuke tülikad. See kehtib eriti siis, kui peate sisestama teemarea, vaiketeate või muud elemendid . Selle asemel, et kasutada lihtsaid sõnu, peate kasutama hex-koode, mis esindavad ASCII tähemärke, mis on kodeeritud RFC 1738-ühetaoliste ressursside lokaatorite (URL) standardite järgi. Teil pole vaja seda kuueteistkümnendat meeles pidada või üles ehitada, kuigi: JavaScript suudab seda sulle teha.

JavaScript encodeURIComponent () funktsioon

Funktsioon JavaScript encodeURIComponent () kodeerib mistahes stringi, mida see esitatakse argumentina ja tagastab selle kasutamiseks. Näiteks encodeURIComponent ("Doc, do da Tance!") Toodab Doc% 2C% 20do% 20da% 20Tantsu! .

Jah, see on see varjatud. Kui teete seda krüptograafiat käsitsi, on tõenäoline, et teete vea, aga JavaScript seda ei tee. Kui kasutate encodeURIComponent () oma mailto koostise hõlbustamiseks : URL-id, vaheta URL-i iga stringi esinemissagedus funktsiooniga encodeURIComponent () , mis näeb meie stringi argumendina.

Näiteks öelge, et soovite luua mailto: URL, mis käivitab sõnumi aadressile recipient@example.com teemaga "Millal, millal on nüüd?" (Kui "nüüd" on siin). " URL näeb välja selline:

mailto: recipient@example.com? subject =

Teema on string "Millal, millal on nüüd?" (Kui "nüüd" on siin). " String kui argument encodeURIComponent () teeb järgmist:

encodeURIComponent ("Millal, millal on nüüd? (kui \" nüüd \ "on siin)") .

Selle funktsiooni kõne tulemus on:

Kui% 2C% 20, kui 20% on 20% -lt 3% 20-st (kui% 20% 22% 22% 20% 20-st)

E ncodeURIComponent () kasutamine Mailto: URL-ide abil

Kui kasutate encodeURIComponent () mailto : URL-is, kirjuta see kogu link ("document.write () kaudu , mis kirjutab teksti dokument, justkui oleksime kirjutanud selle HTML-i allikast .

Näiteks: