Paramètre « EXTERNALTARGET » : ouvrir les liens extérieurs dans un nouvel onglet
Dans l’interface de saisie, lorsque l’on clique sur un lien externe, celui-ci s’ouvre dans un nouvel onglet. Ce comportement est justifié par des impératifs de sécurité : quand une fiche est affichée sur l’interface, elle l’est à l’intérieur d’un élément <iframe>
. Si les liens sont en http://
(non sécurisé), les navigateurs récents vont bloquer l’accès à la page de manière silencieuse. Certains sites vont même bloquer leur affichage à partir d’une <iframe>
.
Mais dans un simple public, il est déconseillé pour des raisons d’accessibilité d’ouvrir des liens dans un nouvel onglet sans indiquer explicitement que la page va s’ouvrir dans une nouvelle fenêtre. C’est aussi considéré comme une impolitesse vis-à-vis de l’internaute de forcer son comportement de navigation. Enfin, cela casse l’historique de navigation, ce qui est troublant sur des petits écrans où la nouvelle fenêtre vient au dessus de la précédente. C’est pourquoi les liens s’ouvrent normalement par défaut. Il est toujours possible de changer ce comportement pour un lien donné avec l’attribut target
comme par exemple [a(http://www.wikipedia.org target=_blank) lien extérieur]
.
Cependant, il existe des contextes où cette fonction peut être utile car le site est à destination d’un public restreint ou parce que tout simplement les gestionnaires du site le désirent. C’est la raison d’être du paramètre EXTERNALTARGET
qui est défini dans le fichier xslt/_params.xsl
:
Sa valeur est vide par défaut. Si on l’attribue une autre valeur, tous les liens identifiés comme lien externe auront cette valeur pour l’attribut target
sauf si ce dernier a été défini explicitement pour ce lien comme indiqué ci-dessus. La valeur la plus courante est _blank
indiquant l’ouverture dans une nouvelle fenêtre ou un nouvel onglet au gré du navigateur.
En fait, comme il s’agit d’un paramètre, la valeur indiquée dans la feuille de sytle est la valeur par défaut. La raison d’être d’un paramètre est de pouvoir être modifié dynamiquement à l’appel de la feuille de style.
Dans le cas d’un balayage, c’est un paramètre passé à l’instruction <output>
comme le montre l’exemple :
Dans le cas d’une exportation tabulaire, c’est un paramètre de la transformation appelé externaltarget
(en minuscules) :