Fix für E-Mail-Link-Probleme ab TYPO3 Version 11.3.2, 10.4.19, 9.5.29, 8.7.42, 7.6.53

Ab diesen Versionen werden die <script>-Tags in den Email-Link-Texten in normalen Text umgewandelt. Um die Links weiterhin zu schützen, kann das @ Zeichen durch eine Zeichenfolge ersetzt werden. In diesem Fall durch @~@ . Das sollte Bots vom Erkennen der Adressen abhalten.

spamProtectEmailAddresses = -2
spamProtectEmailAddresses_atSubst = @~@

Per JavaScript wird der Ausdruck dann wieder ersetzt:

if (!String.prototype.startsWith) {
  Object.defineProperty(String.prototype, 'startsWith', {
    value: function(search, rawPos) {
      var pos = rawPos > 0 ? rawPos|0 : 0;
      return this.substring(pos, pos + search.length) === search;
    }
  });
}

document.addEventListener("DOMContentLoaded", function() {

  let links = document.querySelectorAll('a');
  links.forEach(function(item){
    if (item.getAttribute('href') != null && item.getAttribute('href').startsWith('javascript:linkTo_UnCryptMailto')) {
      item.innerHTML = item.innerHTML.replace('@~@', '@');
    }
  });

});

Ab Version 11.5 reicht folgender Code:

document.addEventListener("DOMContentLoaded", function() {

  let links = document.querySelectorAll('a');
  links.forEach(function(item){
    if (item.getAttribute('data-mailto-token') != null) {
      item.innerHTML = item.innerHTML.replace('@~@', '@');
    }
  });

});

Sven Wappler

Webentwickler, Programmierer, TYPO3 Experte

Das könnte dich auch interessieren …

Eine Antwort

  1. Dan Riesen sagt:

    Lieber Sven,
    Danke für das Snipplet. Habe gar nicht gemerk, dass sich hier was geändert hat und bin froh, dass du mich darauf gebracht hast. Danke Dir!
    Grüsse aus Bern
    Dan

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert