Hace tiempo vengo mirando la forma de no incluir en el código fuente llamadas a javascripts con el onclick de turno incluyendo en el las mismas los valores absolutos de una ventana flotante, por ejemplo. Lo primero es que no debemos usar ventanas flotantes porque son intrusivas y muchos navegadores terminan capando su actividad y porque simplemente no aportan nada. El caso es que cuando se trata de una imposición prefiero usar esta funcionalidad dejando el código lo más limpio posible. Gracias a la librería Jquery (seguro que se puede hacer con otras librerías, pero yo uso esta) se puede hacer los siguiente para evitar esto:

<a onclick=”abrirGenerico(this.href,”,’620′,’450′); return false;”  title=”Ver detalle” href=”ejemplo.pdf”>Ver detalle en página nueva (PDF 127 KB)</a>

y conseguir esto otro:

<a class=”abre_pdf”  title=”Ver detalle” href=”ejemplo.pdf”>Ver PDF </a>

¿Cómo?, pues instalando los típicos js. de JQuery y añadiendo la siguiente funcion.

// Parámetros para invocar eventos onclick en el documento a través de un class
// Captura de enlaces clase “nombre_de_la_clase”

$(”a.a_nombre_de_la_clase”).click(function(e) {
e.preventDefault();
// Obtener atributo HREF del link
var url = this.href;
var ancho = 800;
var alto = 600; // valores por defecto
// Si existe el atributo “rel” y esta en el formato “xxxx,xxx,xxx”,
// lo usamos para extraer las dimensiones del popup.
if(this.rel && this.rel.indexOf(”,”) > -1){
parametros = this.rel.split(”,”);
ancho = parametros[0];
alto = parametros[1];
}
// Abrir pop up usando atributo HREF y las dimensiones de arriba
window.open(”, ‘width=’+ancho+’,height=’+alto+’,toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no’);
// Hay que retornar FALSE para anular el comportamiento original del link
return false;
});
});

Yo no soy un experto programador, pero si le echas un rato puedes hacer lo que quieras. Personalmente no me gusta depender del javascript pero hay veces que es necesario sobre todo con algunos clientes que lo imponen.