Kuinka muodostaa epäonnistuttu Mailto: URL-osoitteet

Opi jos JavaScript auttaa

Koodaus mailto: URL-osoitteet ovat oikein vähän hankalia. Tämä pätee erityisesti silloin, kun haluat sisällyttää aiheen, oletussanoman tai muut elementit . Sen sijaan, että käytät yksinkertaisia ​​sanoja, sinun on käytettävä hex-koodeja, jotka edustavat ASCII-merkkejä, jotka koodataan RFC 1738-Uniform Resource Locators (URL) -standardien mukaisesti. Sinun ei tarvitse muistaa tai rakentaa näitä heksadesimaaleja pääsi päältä, vaikka JavaScript voi tehdä sen sinulle.

JavaScript encodeURIComponent () -toiminto

JavaScript encodeURIComponent () -toiminto koodaa minkä tahansa merkkijonoa, joka saadaan argumenttina ja palauttaa sen käytettäväksi. Esimerkiksi encodeURIComponent ("Doc, do da Dance!") Tuottaa Doc% 2C% 20do% 20da% 20Dance! .

Kyllä, se on niin hämärää. Jos teet tämän kryptografian käsin, on mahdollista, että teet virheen - mutta JavaScript ei toimi. Jos haluat käyttää encodeURIComponent () -toimintoa mailto : URL-osoitteiden koostumuksen helpottamiseksi, korvaa URL-osoitteiden merkkijonon esiintyminen koodilla enciceURIComponent () , joka näkee merkkijonomme argumenttina.

Oletetaan esimerkiksi, että haluat luoda sähköpostiviestin : URL-osoitteen, joka aloittaa viestin vastaanottajalle@example.com, jossa on aihe "Milloin, milloin on nyt (jos" nyt "on täällä)." URL-osoite näyttää tältä:

mailto: recipient@example.com? subject =

Aihe on merkkijono, "milloin, milloin on nyt (jos" nyt "on täällä)." Merkki koodiksi encodeURIComponent () tekee seuraavaa:

encodeURIComponent ("Milloin, milloin nyt? (jos \" nyt \ "on täällä)") .

Tämän toiminnon puhelun tulos on seuraava:

Kun% 2C% 20when% 20is% 20now% 3F% 20 (jos% 20% 22now% 22% 20is% 20here)

Käyttämällä e ncodeURIComponent () Mailto: URL-osoitteita

Jos haluat käyttää encodeURIComponent () -palvelua mailto : URL-osoitteeseen, kirjoita koko linkki (document.write () , joka kirjoittaa minkä tahansa tekstin dokumentti, aivan kuin olisimme kirjoittaneet sen HTML-lähteeseen .

Esimerkiksi: