En HTML 4.0 Strict y XHTML 1.0 STRICT, no se permite el uso del atributo de destino en la etiqueta <a>, lo cual es frustrante para los diseñadores web. Todavía está permitido en las especificaciones de transición, pero a través de ciertos métodos, esto. El problema se puede resolver.
El atributo de destino se eliminó de la especificación HTMl4.0 pero agregó otro atributo: rel. Este atributo se utiliza para especificar la relación entre el documento que contiene el enlace y el valor del atributo se define en la especificación. :siguiente, anterior, capítulo, sección), la mayoría de estos atributos se utilizan para definir la relación entre partes pequeñas en un documento grande. De hecho, la especificación permite a los desarrolladores usar libremente valores de atributos no estándar para hacer cosas específicas. solicitud.
Aquí, utilizamos un valor personalizado externo para el atributo rel para marcar un enlace para abrir una nueva ventana.
Código de enlace que no cumple con los últimos estándares web:
<a href=document.html target=_blank>enlace externo</a>
Utilice el atributo rel:
<a href=document.html rel=external>enlace externo</a>
Ahora que hemos creado un enlace a una nueva ventana que cumple con los estándares web, también necesitamos usar JavaScript para implementar una nueva ventana. Lo que el script debe hacer es encontrar todas aquellas en el documento que definimos como rel=external. cuando se carga la página web.
Primero tenemos que determinar el navegador.
si (!document.getElementsByTagName) regresa;
getElementsByTagName es un método fácil de usar en el estándar DOM1 y ahora es compatible con la mayoría de los navegadores. Debido a que algunos navegadores antiguos como Netscape 4 e IE4 no son compatibles con DOM1, debemos descartarlo determinando si este método existe. estas versiones anteriores de navegadores.
A continuación, obtenemos todas las etiquetas <a> del documento mediante el método getElementsByTagName:
var anclajes = document.getElementsByTagName(a);
Los anclajes se asignan como una matriz que contiene cada etiqueta <a>. Ahora debemos recorrer cada etiqueta <a> y modificarla:
for (var i=0; i < anclajes.longitud; i++) {
var ancla = anclas;
Busque la etiqueta <a> para implementar una nueva ventana
si (anchor.getAttribute(href) &&
Anchor.getAttribute(rel) == externo)
A continuación, cree el valor del atributo target y asigne el valor _target:
ancla.objetivo = _en blanco;
Código completo:
--------------------------
función enlaces externos() {
si (!document.getElementsByTagName) regresa;
var anclajes = document.getElementsByTagName(a);
for (var i=0; i<anclas.longitud; i++) {
var ancla = anclas;
si (anchor.getAttribute(href) &&
Anchor.getAttribute(rel) == externo)
ancla.objetivo = _en blanco;
}
}
ventana.onload = enlaces externos;