samedi 18 avril 2020

Obliger tous les liens (y compris ceux des images) à s'ouvrir dans un autre onglet

Pour quelle raison?

Dans 2 de mes blogs, s'affiche en iframe un mini-blog simplifié de news locales et infos.

Malheureusement, les liens s'ouvraient parfois à l'intérieur de l'iframe (car j'avais oublié de changer la cible) et les liens des images (agrandir l'image) ne s'ouvraient pas ou l'image était trop grande pour le cadre. Ces liens d'image ne sont pas facile à modifier à moins d'aller voir dans le HTML.

J'ai trouvé ce script qui transforme tous les liens (y compris les images) pour qu'ils s'ouvrent dans un autre onglet.
<script>
function externalLinks() {
  let arrayOfLinks = document.getElementsByTagName("a");
  for (i = 0; i < arrayOfLinks.length; i++) {
    let link = arrayOfLinks[i];
    link.getAttribute("href") &&
      link.hostname !== location.hostname &&
      (link.target = "_blank");
  }
}
externalLinks();
</script>

  • Il suffit d'aller dans les paramètres de Blogger > Mise-en-page > ajouter un widget > HTML/Javascript (Clic sur le +)
  • y copier-coller le script ci-dessus.
  • Puis "Enregistrer la disposition"


ATTENTION! Cependant, les liens "_blank" peuvent représenter une faille de sécurité
https://developers.google.com/web/tools/lighthouse/audits/noopener

Aucun commentaire:

Enregistrer un commentaire