Como construír o correo non compatible: URLs

Aprende onde JavaScript axuda

Codificar mailto: URL correctamente é un pouco complicado. Isto é especialmente certo cando precisa incluír unha liña de asunto, mensaxe predeterminada ou outros elementos . En lugar de palabras sinxelas, debes usar códigos hexadecimales que representan caracteres ASCII codificados por estándares RFC 1738-Uniform Resource Locators (URL). Non precisa lembrar nin construír estas representacións hexadecimales na parte superior da súa cabeza, pero: JavaScript pode facelo por ti.

A función JavaScript encodeURIComponent ()

A función encoderURIComponent () de JavaScript codifica calquera cadea que se pasa como argumento e devolve para o seu uso. Por exemplo, encodeURIComponent ("Doc, do da Dance!") Produce Doc% 2C% 20do% 20da% 20Dance! .

Si, é tan escuro. Se fai esta criptografía á man, é probable que cometa un erro, pero JavaScript non o fará. Para usar encoderURIComponent () para facilitar a composición dos seus URL mailto : URL, simplemente substitúa calquera aparición dunha cadea na URL coa función encodeURIComponent () , que ve a nosa cadea como argumento.

Por exemplo, di que quere crear unha URL de mailto: que inicia unha mensaxe a destinatario@example.com cun asunto de "Cando, cando estea agora? (Se" agora "está aquí)." A URL será así:

mailto: recipient@example.com? subject =

O tema é a cadea: "Cando, cando é agora? (Se" agora "está aquí)." A cadea como argumento para encoderURIComponent () fai o seguinte:

encodeURIComponent ("Cando, cando estea agora? (se \" agora \ "está aquí)") .

O resultado desta chamada de función é:

Cando% 2C% 20 cando% 20is% 20nota% 3F% 20 (se% 20% 22nota% 22% 20is% 20here)

Usando e ncodeURIComponent () Con Mailto: URLs

Para usar encoderURIComponent () nunha URL mailto : compora a ligazón completa (de "") dentro da función de JavaScript document.write () , que escribirá calquera texto para o documento, como se o escribisen na fonte HTML .

Por exemplo: