Πώς να κατασκευάσετε URLs που δεν μπορούν να προστατευτούν από αλληλογραφία

Μάθετε πού βοηθά το JavaScript

Η κωδικοποίηση των αλληλογραφίας mailto: URLs είναι λίγο δυσκίνητη. Αυτό ισχύει ιδιαίτερα όταν χρειάζεται να συμπεριλάβετε μια γραμμή θέματος, ένα προεπιλεγμένο μήνυμα ή άλλα στοιχεία . Αντί απλές λέξεις, πρέπει να χρησιμοποιήσετε δεκαεξαδικούς κωδικούς, οι οποίοι αντιπροσωπεύουν χαρακτήρες ASCII που κωδικοποιούνται ανά πρότυπα RFC 1738-Uniform Locator Resource (URL). Δεν χρειάζεται να θυμάστε ή να κατασκευάσετε αυτές τις εξάγωνες αναπαραστάσεις από την κορυφή του κεφαλιού σας, αν και: το JavaScript μπορεί να το κάνει για εσάς.

Η συνάρτηση JavaScript encodeURIComponent ()

Η συνάρτηση JavaScript encodeURIComponent () κωδικοποιεί κάθε συμβολοσειρά που περνάει ως παράθεση και την επιστρέφει για χρήση. Για παράδειγμα, το encodeURIComponent ("Doc, do da Dance!") Παράγει Doc% 2C% 20do% 20da% 20Dance! .

Ναι, αυτό είναι ασαφές. Εάν κάνετε αυτή την κρυπτογραφία με το χέρι, πιθανότατα θα κάνετε λάθος, αλλά το JavaScript δεν θα το κάνει. Για να χρησιμοποιήσετε το encodeURIComponent () για να διευκολύνετε τη σύνθεση των διευθύνσεών σας mailto : URL, απλώς αντικαταστήστε οποιαδήποτε εμφάνιση μιας συμβολοσειράς στο URL με τη συνάρτηση encodeURIComponent () , η οποία βλέπει τη συμβολοσειρά μας ως όρισμα.

Για παράδειγμα, ας πούμε ότι θέλετε να δημιουργήσετε μια διεύθυνση URL mailto: η οποία εκκινεί ένα μήνυμα στο recipient@example.com με θέμα "Πότε, πότε είναι τώρα;" (εάν είναι εδώ "τώρα"). " Η διεύθυνση URL θα μοιάζει με αυτή:

mailto: recipient@example.com; subject = <θέμα>

Το θέμα είναι η συμβολοσειρά "Πότε, πότε είναι τώρα;" (αν τώρα βρίσκεται εδώ). " Η συμβολοσειρά ως επιχείρημα για το encodeURIComponent () κάνει τα εξής:

encodeURIComponent ("Πότε, πότε είναι τώρα;" (αν είναι τώρα "εδώ")) .

Το αποτέλεσμα αυτής της κλήσης λειτουργίας είναι:

Όταν το% 2C% 20when% 20is% 20now% 3F% 20 (εάν% 20% 22now% 22% 20is% 20εδώ)

Χρήση του eccodeURIComponent () Με τις διευθύνσεις Mailto: URLs

Για να χρησιμοποιήσετε το encodeURIComponent () σε μια διεύθυνση URL mailto :, συνθέστε ολόκληρο το σύνδεσμο (από το " ") μέσα στη συνάρτηση JavaScript document.write () , η οποία θα γράψει οποιοδήποτε κείμενο το έγγραφο, σαν να το γράψαμε στην πηγή HTML .

Για παράδειγμα:

<" στείλτε μου μήνυμα! ")

Με το