Dans HTML 4.0 Strict et XHTML 1.0 STRICT, l'attribut target n'est pas autorisé à être utilisé dans la balise <a>, ce qui est frustrant pour les concepteurs Web. Il est toujours autorisé dans les spécifications de transition. Mais grâce à certaines méthodes, nous pouvons le faire. le problème peut être résolu.
L'attribut target a été supprimé de la spécification HTML4.0. Mais il a ajouté un autre attribut : rel. Cet attribut est utilisé pour spécifier la relation entre le document contenant le lien et le document lié. Sa valeur d'attribut est définie dans la spécification (comme par exemple). : suivant, précédent, chapitre, section), la plupart de ces attributs sont utilisés pour définir la relation entre les petites parties d'un document volumineux. En fait, la spécification permet aux développeurs d'utiliser librement des valeurs d'attributs non standard pour faire des choses spécifiques. application.
Ici, nous utilisons une valeur personnalisée externe pour l'attribut rel afin de marquer un lien pour ouvrir une nouvelle fenêtre.
Code de lien non conforme aux derniers standards du web :
<a href=document.html target=_blank>lien externe</a>
Utilisez l'attribut rel :
<a href=document.html rel=external>lien externe</a>
Maintenant que nous avons créé un lien vers une nouvelle fenêtre conforme aux standards du Web, nous devons également utiliser JavaScript pour implémenter une nouvelle fenêtre. Le script doit trouver toutes celles que nous avons définies comme rel=external dans le document. lorsque la page Web est chargée, un lien hypertexte.
Nous devons d’abord déterminer le navigateur.
if (!document.getElementsByTagName) return ;
getElementsByTagName est une méthode facile à utiliser dans la norme DOM1, et elle est désormais prise en charge par la plupart des navigateurs. Étant donné que certains anciens navigateurs tels que Netscape 4 et IE4 ne prennent pas en charge DOM1, nous devons l'exclure en déterminant si cette méthode existe. ces anciennes versions de navigateurs.
Ensuite, nous obtenons toutes les balises <a> du document via la méthode getElementsByTagName :
var ancres = document.getElementsByTagName(a);
Les ancres sont assignées sous forme de tableau contenant chaque balise <a>. Nous devons maintenant parcourir chaque balise <a> et la modifier :
pour (var i=0; i <ancres.longueur; i++) {
var ancre = ancres;
Recherchez la balise <a> pour implémenter une nouvelle fenêtre
si (anchor.getAttribute(href) &&
Anchor.getAttribute(rel) == externe)
Créez ensuite la valeur d'attribut cible et attribuez la valeur _target :
ancre.target = _blank;
Code complet :
--------------------------
fonction Liensexternes() {
if (!document.getElementsByTagName) return ;
var ancres = document.getElementsByTagName(a);
pour (var i=0; i<anchors.length; i++) {
var ancre = ancres;
si (anchor.getAttribute(href) &&
Anchor.getAttribute(rel) == externe)
ancre.target = _blank;
}
}
window.onload = externalLinks ;