Bueno, a motivo de resolucion de la anterior pregunta, les presento una pequeña prueba de concepto
que intenta solucionar este tema.
Muchas veces, no nos interesa, o nos juega en contra que el usuario navegue por nuestra pagina
en muchas solapas a la vez. Esto suele ocurrir en paginas donde la seguridad, o la concurrencia juegan un papel
critico, o solo por histeria del diseñador/programador. Se me ocurrio lo siguente...
Archivo: no-pestaña.html
---BEGIN---
<html>
<head>
<a href="javascript:ejecutar(this);">Prueba</a>
<html>
<head>
<script>
function ejecutar()
{
window.location="http://www.google.com.ar";
}
</script>
</html>
--- END ---
La palabra "javascript:" es escencial para que esto funcione.
Lo que hace esto es, abrir la URL a travez de un script definido en nuestra pagina, y el truco
está en que cuando abra la nueva pestaña o ventana, no va a encontrar la URL y pasa nada!
Ahora suponiendo un escenario más complicado, en el que tenemos parametros en un formulario a enviar con POST,
podriamos hacer.
Archivo: no-pestaña.html
---BEGIN---
<html>
<head>
<a href="javascript:ejecutar(this);">Prueba</a>
<form name="valores" action="http://www.google.com/search" >
<input value="" title="Valor" name="q" maxlength="2048"/>
</form>
<html>
<head>
<script>
function ejecutar()
{
document.valores.submit();
}
</script>
</html>
--- END ---
De la misma manera, nos aprovechamos del truquito del script definido en la pantalla que estamos usando, y solo se ejecutará
en la ventana principal, y no en ventanas nuevas, ni pestañas...
Obviamente, esto no es una medida de seguridad bajo ningun tipo d econcepto, es solo una limitante mas para usuarios desprevenidos
o solo proligidad. Espero les sirva.
Séxitos!
Etiquetas: html, java script
« back home