Foros del Web » Programando para Internet » Javascript »

Alterntiva para "target" en enlaces (DTD Strict)

Estas en el tema de Alterntiva para "target" en enlaces (DTD Strict) en el foro de Javascript en Foros del Web. Saludos! Bueno, solo quería compartir este simple código que "me salió de la manga" al querer abrir el enlace de verificación de código XHTML en ...
  #1 (permalink)  
Antiguo 24/01/2010, 00:44
Avatar de Atomycko  
Fecha de Ingreso: diciembre-2005
Ubicación: Zapopan Jal.
Mensajes: 92
Antigüedad: 18 años, 3 meses
Puntos: 12
Alterntiva para "target" en enlaces (DTD Strict)

Saludos!

Bueno, solo quería compartir este simple código que "me salió de la manga" al querer abrir el enlace de verificación de código XHTML en una ventana nueva, esto es para doctype XHTML 1.0 Strict, que no acepta el atributo "target" en enlaces, bueno ya me dejo de palabrerias.
El código:
Código HTML:
<!--- Fin de contenido de página --->
<script type="text/javascript">
window.onload=function(){
  var a_target=document.getElementsByTagName('a');
  var a_class=/target-blank/;
  for(i=0; i<a_target.length; i++){
    var t_target=a_target[i];
    if(a_class.test(t_target.className)){
      t_target.onclick=function(){
        this.target='_blank';
      }
    }
  }
};
</script>
</body>
</html> 
Ahora solo queda darle a los enlaces que abrirán en nueva ventana el className "target-bank", yo coloque el escript dentro del body, porque uso un archivo "footer.php" en las secciones, así no lo escribo en cada página, pero pueden crear la función en su .js.
Bueno, espero que sirva de algo, o almenos para dar pie a mas ideas.

Saludos!
__________________
PD: Los acentos fueron secuestrados.
  #2 (permalink)  
Antiguo 24/01/2010, 01:06
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Alterntiva para "target" en enlaces (DTD Strict)

Hola:

¡Sí, si!... eso ya lo hemos hablado en varias ocasiones, y yo siempre insisto en lo mismo... Si tienes que usar el atributo target (también en formularios), entonces no debes usar una DTD estricta... No pasa nada si usas una "transitional"...

Y si que lo acepta (faltaba más), pero no pasa la validación (w3.org)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 24/01/2010, 09:50
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Alterntiva para "target" en enlaces (DTD Strict)

Es un truco interesante, pero sigue siendo "burlar" la validación. Una vez leí a alguien defender el echo de que no se pueda validar estricto con target="_blank"; desde luego que muchas veces queremos que el visitante no salga de nuestro sitio, pero es él quien debe decidir si quiere abrir el enlace en una ventana/pestaña nueva o no. Por otro lado, si quieres hacer el sitio web "bien completito", el mismo debería funcionar también si no se ha habilitado javascript. Si no quieres que sea tan "completo", tampoco veo por qué no usar un DTD transitional como propone Caricatos . ¡Suerte!
  #4 (permalink)  
Antiguo 25/01/2010, 14:37
Avatar de Atomycko  
Fecha de Ingreso: diciembre-2005
Ubicación: Zapopan Jal.
Mensajes: 92
Antigüedad: 18 años, 3 meses
Puntos: 12
Respuesta: Alterntiva para "target" en enlaces (DTD Strict)

Saludos caricatos y dggluz!

Me rindo, desde ya cambio a "transitional", no hay de otra, asi no tendré que "torear" la validación de "strict" para agregar tags y atributos no validos. Gracias por las sugerencias... y razones :P
__________________
PD: Los acentos fueron secuestrados.
  #5 (permalink)  
Antiguo 26/01/2010, 07:55
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 10 meses
Puntos: 832
Respuesta: Alterntiva para "target" en enlaces (DTD Strict)

Atomycko, yo uso este código y me va bien:

http://www.eslomas.com/index.php/arc...target-_blank/

Etiquetas: dtd, enlaces
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:45.