Destino del enlace personalizado
Este script permite al usuario elegir si quiere abrir un enlace en la propia ventana o en un ventana nueva
Interesante ver como se vinculan eventos a una lsita de elementos de la página.
Solución
<script>
function prepEnlaces()
{
let ind;
let lista = document.getElementsByTagName('a');
for(ind=0; ind < lista.length; ind++){
document.links[ind].onmousedown = preguntar;
}
}
function preguntar()
{
let nv, obj;
obj = event.target;
if (confirm("¿Quiere abrir este enlace en una ventana nueva?")){
nv = open(obj.href,"_blank");
}
else{
window.location = obj.href;
}
}
</script>
<body onload="prepEnlaces()">
El resto de la página con los enlaces
<p><a href="scripts/basededatos.htm">Ejemplo 1</a></p>
<p><a href="scripts/bloquefijo.htm">Ejemplo 2</a></p>
<p><a href="scripts/ultactual.htm">Ejemplo 3</a></p>
<p><a href="scripts/teletipo.htm">Ejemplo 4</a></p>
</body>
Explicación
Este script hace que al pulsar sobre un enlace de una página se abra un cuadro de diálogo que permite al usuario elejir si quiere abrir la nueva dirección en la misma ventana o en una nueva.
La primera función, llamada prepEnlace(), recorre todos los enlaces de la página a través de la colección document.getElementByTagName.
En cada uno de ellos asocia el
evento mousedown (que se dispara al pulsar el botón del ratón)a
la función preguntar(). Esta función llama al método window.confirm(), que muestra una ventana preguntando se quiere abrir el enlace en otra ventana