MediaWiki:EmailObfuscate.js

Aus Freifunk MWU Wiki
Version vom 25. Juni 2014, 23:09 Uhr von Spky (Diskussion | Beiträge) (Ab sofort kann ich auch mehrere Adressen pro Seite verschleiern..)
Zur Navigation springen Zur Suche springen

Hinweis: Leere nach dem Speichern den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Internet Explorer: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Gehe zu Menü → Einstellungen (Opera → Einstellungen auf dem Mac) und dann auf Datenschutz & Sicherheit → Browserdaten löschen → Gespeicherte Bilder und Dateien.
/* Ich verschleiere Email-Adressen zum Spamschutz */

var sets = document.getElementsByClassName('emailobfuscated');

if(typeof(sets) != 'undefined' && sets !== null)
{
    var i = 0, set;
    while (set = sets[i++])
    {
        var email = document.getElementById('nospam'+i);

        if(typeof(email) != 'undefined' && email !== null)
        {
            var user = document.getElementById('emailuser'+i);
            var host = document.getElementById('emailhost'+i);
            var suffix = document.getElementById('emailsuffix'+i);
            var text = document.getElementById('emailtext'+i);

            if(typeof(user) != 'undefined' && user !== null && typeof(host) != 'undefined' && host !== null && typeof(suffix) != 'undefined' && suffix !== null)
            {
                var addr = user.innerHTML.replace(/^\s+|\s+$/g,'') + '@' + host.innerHTML.replace(/^\s+|\s+$/g,'') + '.' + suffix.innerHTML.replace(/^\s+|\s+$/g,'');

                var link = addr;
                if(typeof(text) != 'undefined' && text !== null)
                {
                    link = text.innerHTML.replace(/^\s+|\s+$/g,'');
                }
                email.innerHTML = '<a href="mailto:' + addr + '">' + link + '</a>';
            }
        }
    }
}