Target _blank
9 seguidores
Desde hace algún tiempo me corroe una duda, ¿por qué el W3C ha marcado como "deprecated" el atributo "_blank" en los enlaces?
¿Qué hay que hacer para abrir un link en una nueva ventana? ¿Utilizar javascript?
¿Qué soluciones le estais dando? ... yo vi un tio que añadía el atributo al vuelo, pero me parece un HACK para engañar al validador, y sinceramente, tampoco me gusta
Yo por ahora me estoy pasando esa recomendación por el mismísimo forro, sobre todo porque no entiendo el motivo ... a ver si es que me he perdido algo
meddle
yo empecé a usar el DOM para añadir el target (y una imagen al enlace) si el href era de fuera del dominio, pero parece que eso (exactamente la imagen, no el haber añadido el target) no le mola mucho al FireFox y lo descojona. Asi que ahora uso CSS (bueno ahora = mi nueva v3 que saldra pronto) para añadir una pequeña imagen que señala que la url es de fuera, y así la gente sabe que saldrá de mi dominio. Si alguien quiere o sabe, ya usará el botón derecho.
<code>#content a[href^="http"] {
padding-right: 10px;
background-image: url(external.gif);
background-position: right !important;
background-repeat: no-repeat;
}
</code>
Usuario desconocido
Mirá el mensaje número 8 de este topic:
http://www.webmasterworld.com/forum21/5529.htm
USING WINDOW.OPEN() , rel="external". maybe???
El mismo topic tiene un link a un artículo muy interesante en sitepoint.com, por cierto:
http://www.sitepoint.com/article/1041/1
meddle
puestos a usar js, hombre, hagamoslo bien. no? algo como esto (mejor lo metes en un archivo js aparte, se inicializa solo):
<code>//================================================\\
// start add-ons \\
//================================================\\
var Extras = {
// Events methods by Scott Andrew (www.scottandrew.com):
addEvent : function(obj, evType, fn, useCapture){
if (obj.addEventListener){
obj.addEventListener(evType, fn, useCapture);
return true;
}
else if (obj.attachEvent){
var r = obj.attachEvent("on"+evType, fn);
return r;
}
else {
return false;
}
},
reTarget : function(){
var external = document.getElementsByTagName("a");
for (var k=0; k<external.length; k++){
if (external[k].href) {
var url = external[k].href;
if (url.indexOf(document.domain) == -1 && url.indexOf("javascript:") == -1)
{
var ExternalTxt = "(External link / Enlace externo)";
external[k].target = "_blank";
external[k].title += " " + ExternalTxt;
}
}
}
}
}
// extending Array, by Aaron Boodman (youngpup.net):
Array.prototype.indexOf = function(foo) {
for (var i = 0; i < this.length; i++)
if (foo == this[i]) return i;
return -1;
}
if (document.getElementsByTagName && !window.opera) {
// Op seems to crash with Extras.reTarget
Extras.addEvent(window, "load", Extras.reTarget, false);
}
//================================================\\
// end add-ons \\
//================================================\\</code>
orange
Respecto a los "motivos" para hacerlo (articulo de SitePoint de Fede) .... sinceramente me parece cogérsela con papel de fumar ... estas son las cosas por las que la gente manda a freir espárragos al W3C
Además, añadir esas cosas por javascript no es más que engañar al validador, ya que el atributo se sigue usando, aunque escondido
Y no digo que no sea fácil, rápido o leches ... es que me niego a aceptarlo, por tocapelotas ... anda que no hay cosas que arreglar antes que esto (si es que esto hay que arreglarlo)
Cagontó
Usuario desconocido
Entiendo perfectly...no pasa res.
A propósito, en youngpup.net encontré este article que también sta bien...el autor parece que está cabreado con más de uno, ejjejej
http://www.youngpup.net/2003/popups
meddle
estoy de acuerdo con vosotros. he dicho "puestos a usar js". yo simplemente paso del target.
y ese articulo lo he enlazado aqui por lo menos 4 veces. aaron is da king ;)
orange
<em>"This is not a holier-than-thou request to use web standards. This is not a hope for accessibility. This is a demand for my right as a web citizen to be able to click on hyperlinks without receiving javascript errors"</em>
Amen hermano
<em>"I hate you. I despise you. I wish for your sudden and excruciating death with every ounce of my being every single time I click one of your god-forsaken pretend hyperlinks. I swear to all the Gods in all the religions, that the next time this happens to me, somebody will pay. Oh yes. Somebody will be sorry"</em>
SAPOROSTI !!!
pd: de todas formas la solución que da no me acaba de molar ... prefiero lo que ponia Sergi o lo de SitePoint
meddle
eso suena muy halagador, pero aunque sea una quedada de codigo (modesto yo?) casi que preferiria no usar js para eso o simplemente pasar del validador.
orange
meddle
"o simplemente pasar del validador"
Exactamente es eso lo que hago ..... y por lo visto es lo que voy a seguir haciendo
:((
meddle
¿no te vale lo del CSS? (añadir una imagen para advertir que es un link externo)
dirarck
A mi también me parece una metedura de pata, el target es un atributo que facilita mucho el trabajo, y personalmente a mi tampoco me gusta que se salga de mi sitio debido a un enlace que he tenido que poner. Espero que se esté trabajando en algo asi en css, o algún modulo de xhtml. Por lo pronto no he necesitado esa función, pero cuando la necesite usaré el addons de meddle, que pa eso es freesource :P
meddle
por cierto, no me ha gustado nada el articulo de sitepoint. para empezar requiere añadir un marcado extra al html (y para rizar el rizo rel no deberia usarse para eso) y despues usa el evento onload, de manera que si tu ya tienes un onload se te jode todo (eso es lo que les pasa a todos esos que han posteado en el foro, que mezclan scripts y se les jode).
lo siento pero si leeis el articulo fijaos solo en el comentario de un tal Bill Posters. O usad mi codigo, que como he dcho antes es completamente automatico y no se mezclara con vuestro codigo para nada.
orange
meddle
"¿no te vale lo del CSS? (añadir una imagen para advertir que es un link externo)"
Si, pero eso no me abrirá una nueva ventana, simplemente es un indicativo ... ya te digo, yo creo que aceptaré que no me valide eso ....
meddle
ya ya...
mi duda es ¿por que W3C inventó el target=_blank ? Por culpa de eso ahora estamos con ese "problema" de validacion. Si nunca hubiera exixtido la gente se habria acostumbrado a usar el boton derecho.
joshuatree
orange
meddle
"¿no te vale lo del CSS? (añadir una imagen para advertir que es un link externo)"
Si, pero eso no me abrirá una nueva ventana, simplemente es un indicativo ... ya te digo, yo creo que aceptaré que no me valide eso ....
Eso mismo. Lo q hace Sergi implica una tarea mas para el navegante: aprenderse un nuevo icono... Y ya sabes, los navegantes no son (somos?) muy entusiastas de aprender un interfaz por cada sitio al que entren...
(Me lo dijo el Jakob... Pero me hace a mi q esta vez estaba acertado...)
orange
Pues sinceramente, a mi me parece un aributo muy útil ... yo más bien me preguntaría por qué lo quieren dejar de usar ...
Y sobre todo que si lo quitan den una alternativa
joshuatree
Pues yo estoy contigo. Lo seguire usando si las propuestas dan tantos rodeos que mejor seria darlo por valido.
Pues yo lo doy por valido y yasta :D
meddle
Pues sinceramente, sigo pensando que el problema no es que lo hayan quitado, el problema es que haya existido. a mi me putea bastante que la gente use target="_blank" y se me abran 25 ventanas en cada sesion. Coño, si quiero una ventana nueva ya la abrire yo! Dejadme usar a mi las ventanas como me sale de las pelotas, no? :)
si tu pagina vale la pena, tranquilo que volvere. no entiendo esa obsesion por "guardar" las visitas. es incluso contra-intuitivo tener 25 ventanas abiertas...
joshuatree
meddle
si tu pagina vale la pena, tranquilo que volvere
Si es q no se trata de usarlo solo para eso. Abrir otras ventanas, si lees un articulo como los de Wired, es una accion q hasta se agradece, porque tanto links en los textos abriendo en una misma ventana te entorpeceria la lectura!
Yo me cabreo al encontrar paginas q no abren en otra ventana. Mira tu x donde! Supongo q le pasara a mas de uno...
orange
Pues porque si tu quieres abrir una nueva ventana, el target blank es transparente para ti ... pero si no sabes cómo hacer eso (o se te olvida) ya lo hago yo por ti
Y no es cuestión de guardar las visitas, es simplemente cuestión de lógica .. a mi me gusta que si estoy navegando por un sitio no me saquen asi como asi ... prefiero que los links externos se me abran en una nueva ventana (yo directamente hago nueva pestaña) ... de hecho me jode cuando no lo hacen
Ya ves, será cuestión de gustos
meddle
orange
Pues porque si tu quieres abrir una nueva ventana, el target blank es transparente para ti ... pero si no sabes cómo hacer eso (o se te olvida) ya lo hago yo por ti
transparente es el agua y transparente es poder controlar la manera como navegas. a ver, explicadme esto, que me pierdo: resulta que la gente se aprende de memoria 200 jugadores de fungol, resultados, maneras de piratear canales digitales, menus criticos de moviles (y de moviles de sus amigos)... etc etc. ¿y no podrian haber aprendido como usar el boton derecho del raton? amos hombre... si no existiera, los dos tipos de usuarios podrian elegir donde abrir el puto enlace. ahora solo podeis elegir vosotros, porque si yo lo quiero abrir en la misma, no puedo. y eso no es justo.
dagi3d
segun tengo entendido, el motivo de quitarlo era porque el que te mande a otro sitio no pertenece ni al contenido ni a la presentacion del documento
joshuatree
meddle
a ver, explicadme esto, que me pierdo: resulta que la gente se aprende de memoria 200 jugadores de fungol, resultados, maneras de piratear canales digitales, menus criticos de moviles (y de moviles de sus amigos)... etc etc. ¿y no podrian haber aprendido como usar el boton derecho del raton? amos hombre...
Amos hombreeeee, no me compares la interfaz de un telefono y una tele, q ha convivido tantos años entre nosotros, y la sabe usar mi padre y hasta mi abuela, con la de algo tan intangible y con tantas encarnaciones como la interfaz de una web. Nacida en un Pc/Mac! A la que mas de uno le da noseke usarla!!!!
Y otra cosa alucinogena q has dicho, tio pirao: Boton derecho?!? En un MAc? En un trackball?!? En un puto pad de portatil?!?!?!?!
Por eso, para mi, nueva ventana. O mejor, la opcion de abrir links en nuevas ventanas o no, como hace el seor xeron.org ;)
orange
dagi3d
"segun tengo entendido, el motivo de quitarlo era porque el que te mande a otro sitio no pertenece ni al contenido ni a la presentacion del documento"
Sí, por eso es ... pero a mi me parece que recurrir a javascript para eso es un paso atrás ... si me apuras se podría considerar parte de la presentación, con lo que yo quiero un atributo CSS para ello
meddle
"¿y no podrian haber aprendido como usar el boton derecho del raton?"
Claro que podrían aprendérselo ,,, pero hay muchos que no lo hacen ... o dime cuantas veces ves a gente navegando por la web haciendo doble clic en los enlaces .... más de las que te gustaría
Además de los problemas del boton derecho que ya te comenta Joshua, es decir, que hay que recurrir a una combinación de teclas
joshuatree
orange
dime cuantas veces ves a gente navegando por la web haciendo doble clic en los enlaces .... más de las que te gustaría
Esa es buenisima XDDDDDDDDD