Mit diesem JS Tutorial lernen Sie, wie Sie ganz einfach per JS eine VCARD zum Download bereitstellen.

1. JS einbinden

Folgendes JS habe ich vorbereitet. Dies muss nur in die gewünschte JavaScript Datei eingefügt werden. Der Script wird dann beim Laden ausgeführt und sucht im HTML nach den VCARD Bereichen:

 

    if(document.querySelector('.create-vcard')) {
        const vCardLinks = document.querySelectorAll('.create-vcard');

        if(vCardLinks.length > 0) {
            vCardLinks.forEach(vCardLink => {
                vCardLink.addEventListener('click', (event) => {
                    event.preventDefault();
                
                    // Get the data attributes for each vCard link
                    const firstName = vCardLink.dataset.firstname;
                    const lastName = vCardLink.dataset.lastname;
                    const email = vCardLink.dataset.email;
                    const phoneNumber = vCardLink.dataset.phone;
                
                    // Call the function to create a vCard with the data
                    createVCard(firstName, lastName, email, phoneNumber);
                });
            });
        }
    }


function createVCard(firstName, lastName, email, phoneNumber) {
    const vCardContent = `BEGIN:VCARD\nVERSION:3.0\nFN:${firstName} ${lastName}\nN:${lastName};${firstName};;\;\nEMAIL;TYPE=PREF,INTERNET:${email}\nTEL;TYPE=CELL:${phoneNumber}\nEND:VCARD`;
    const blob = new Blob([vCardContent], { type: 'text/vcard;charset=utf-8' });
    const url = URL.createObjectURL(blob);
    const link = document.createElement('a');
    link.href = url;
    link.download = firstName + '_' + lastName + '.vcf';
    link.click();
    URL.revokeObjectURL(url);
}

 

Der Code ist soweit eingestellt, dass er nach DIVs mit der Klasse ".create-vcard" sucht und dann darin die data-attribute ausliest. In diesem Beispiel also "data-firstname", "data-lastname", "data-email" und "data-phone". Das sind auch die Mindestanforderungen. Natürlich kann der Code auch um "Privat-Nummer", "Festnetz", etc erweitert werden.

2. HTML erstellen

Damit unser JS jetzt die VCARD Links erstellt, müssen wir dazu diesen HTML Code generieren:

 

<a href="#" class="create-vcard" data-firstname="Marha" data-lastname="Musterfrau" data-email="martha@muster.gmbh" data-phone="+49123456789">
    VCARD Download
</a>

 

Nun wird eine VCARD generiert mit den Daten aus den data-Attributen.

Previous PostJS Snippets: Set- & Get Cookie Methoden
Next PostTYPO3 Extbase: TCA Einträge optimierten mit LazyLoading