Cum se construiește Mailto: URL-uri

Aflați unde ajută JavaScript

Codarea mailto: adresele URL corect este puțin greoaie. Acest lucru este valabil mai ales când trebuie să includeți o linie subiect, un mesaj implicit sau alte elemente . Mai degrabă decât cuvintele simple, trebuie să utilizați coduri hexagonale, care reprezintă caractere ASCII care sunt codificate conform standardelor RFC 1738-Uniform Resource Locators (URL). Nu aveți nevoie să vă amintiți sau să construiți aceste reprezentări hexate din partea de sus a capului dvs., totuși: JavaScript poate face acest lucru pentru dvs.

Funcția JavaScript encodeURIComponent ()

Funcția JavaScript encodeURIComponent () codifică orice șir care este transmis ca argument și îl returnează pentru utilizare. De exemplu, encodeURIComponent ("Doc, do da Dance!") Produce Doc% 2C% 20do% 20da% 20Dance! .

Da, este atât de obscur. Dacă faci această criptografie manuală, șansele sunt că vei face o greșeală, dar JavaScript nu o va face. Pentru a utiliza cododeURIComponent () pentru a ușura compoziția URL-urilor dvs. mailto :, înlocuiți orice apariție a unui șir în URL-ul cu funcția encodeURIComponent () , care vede șirul nostru ca argument.

De exemplu, spuneți că doriți să creați o adresă URL mailto: care inițiază un mesaj către destinatar@exemplu.ro cu un subiect de "Când, când este acum?" (Dacă "acum" este aici). " URL-ul va arăta astfel:

mailto: recipient@example.com subiect =

Subiectul este șirul "Când, când este acum?" (Dacă "acum" este aici). " Șirul ca argument pentru encodeURIComponent () face următoarele:

encodeURIComponent ("Când, când este acum? (dacă \" acum \ "este aici)") .

Rezultatul acestei apelări este:

Când% 2C% 20when% 20is% 20now% 3F% 20 (dacă% 20% 22now% 22% 20is% 20here)

Utilizarea codului e ncodeURIComponent () Cu adresele URL Mailto:

Pentru a utiliza encodeURIComponent () într-o adresă URL mailto : compuneți întreaga legătură (de la " ") în document.write () funcția JavaScript, documentul, ca și cum l-am fi tastat în sursa HTML .

De exemplu:

<" ")

Cu