El atributo target, es desaprobado por la W3C como parte de los enlaces.
Lo más parecido que puedes hacer, es mediante javascript, usar el "window.open(URL)", sin ningún parámetro adicional:
Código :
<a href="http://terra.es" onclick="javascript:window.open('http://terra.es');return false;">link</a>
Si tiene javascript, el link se abrirá en otra página.
Si no tiene javascript, se abrirá en la misma (que ya es algo).
Pero esto, no es lo adecuado. Sigue leyendo.¿Hay otro camino?Otra opción, es modificar la DTD de la W3C, y añadir el soporte para <base target="" />
Yo lo he hecho, y no hay problema.
Añadir en:
Imported Names
<!ENTITY % FrameTarget "NMTOKEN">
<!-- render in this frame -->
Actualizar en:
Document Head
<!-- document base URI -->
<!ELEMENT base EMPTY>
<!ATTLIST base
id ID #IMPLIED
href %URI; #IMPLIED
target %FrameTarget; #IMPLIED
>
y actualizar en:
The Anchor Element
<!-- content is %Inline; except that anchors shouldn't be nested -->
<!ELEMENT a %a.content;>
<!ATTLIST a
%attrs;
%focus;
charset %Charset; #IMPLIED
type %ContentType; #IMPLIED
name NMTOKEN #IMPLIED
href %URI; #IMPLIED
hreflang %LanguageCode; #IMPLIED
rel %LinkTypes; #IMPLIED
rev %LinkTypes; #IMPLIED
shape %Shape; "rect"
coords %Coords; #IMPLIED
target %FrameTarget; #IMPLIED
>
*se debe añadir lo indicado en
rojo, en cada caso.
Guardas esta nueva DTD ("xhtml1-strict-T-I.dtd", en el ejemplo), en una carpeta accesible de tu WEB.
Y luego referencias los Doctypes a ella:
<!DOCTYPE html PUBLIC "-//tu_server.es//DTD XHTML 1.0 Strict +(TARGET)//EN"
"http://www.tu_server.es/ruta_accesible/xhtml1-strict-T-I.dtd">
De esa manera, el validador revisa
ESA DTD, en lugar de las que tiene por "default", y valida adecuadamente.
Como muestra, enseño la
validación de la W3C para mi ejemplo:

(y aquí, la
muestra)
PD: si quieres, puedes usar mi DTD, con soporte, además del "target", para IFRAMES, y el atributo "volume" y "autoplay" de los objetos, embed y demás. (Sólo, ten en cuenta la
licencia (Creative Commons) que acompaña mi trabajo)
Aquí la tienes.
** NOTA:Las DTD, no son más que hojas que definen los elementos que vas a usar, para que el navegador esté preparado a "leerlos".
No soy un experto (ni mucho menos) en el tema, pero no es incorrecto hacer esto.
Lo único que se hace así, es definir tu propio juego de "instrucciones" para el xHTML (que por eso es "x": e
Xtended)
A mi DTD, la he llamado: "
DTD XHTML 1.0 Strict +(T/I)", precisamente por eso, porque es la "strict" original de la W3C (tal cual), ampliada con soporte a "
Target" e "
Iframes" (además del "autoplay" y "volume", de los "embed" &co)