jueves, junio 26, 2008

Redireccionar a una nueva ventana con delay

Bueno, pues en esta última edición que he hecho de la web, me he encontrado con algunos problemillas que debido a mi desconocimiento de las magias de los lenguajes de programación, me ha costado resolver. Este es uno de los casos.
A pesar de mandar mails a los afiliados para que actualicen la nueva url y demás, normalmente la gente pasa, así es que me vi obligada a buscar una solución de redirección que me convenciese.
Redireccionar una página es fácil, ponerle un delay, también, y redireccionar en otra ventana, también. El problema es cuando lo quieres hacer todo junto.
¿Por qué quise hacer esto?. La mayor parte de los afiliados tenian la dirección más antigua de todas, que es de geocities. Este servidor te encasilla la web en dos marcos de publicidad, aparte de meter publicidad flotante. Cuando tu metes la página de redirección, se redirecciona normalmente en la misma ventana, con lo cual, la nueva web que se abre queda atrapada dentro de los mismos marcos de publicidad, es decir, que no has hecho nada, porque tu web no tiene publi pero la ventana en la que ha sido redireccionada si.
La solución, por lo tanto, era que se abriese una nueva ventana en forma de pop-up, y tras probar un montón de códigos y magias raras, lo conseguí con un javascript sencillito.

En tu web, siempre entre las etiquetas head de la cabecera (sin dejar espacios entre las eqiquetas < y lo que le sigue, y > y lo que le antecede. Yo aquí los he dejado para que pudiese mostrar el código):

< script language="JavaScript" type="text/javascript" >

function redireccion() {
window.open("http://www.elnombredetuweb.com" , "ventana1" , "toolbar=yes, location=yes, directories=yes, status=yes, menubar=yes, scrollbars=yes, resizable=yes, fullscreen, left=0, top=0");
}

function delay()
{
window.setTimeout("redireccion();", 8000)}
< /script >


1) La función redirección te cuenta qué va a abrirse en tu nueva ventana (la web a la que rediriges la actual), y como va a ser esa nueva ventana. En este caso tiene todos los elementos normales de una ventana del explorador definidos por los parámetros toolbar, location, directories..., etc.

2) La función delay nos dice cuantos segundos pasarán hasta que se abra la nueva ventana (para dar tiempo a la gente a leer lo que les hayas puesto en la página que están mirando, por ejemplo algo como "nos mudamos!, si no eres redireccionado bla bla..."). En este caso son 8 segundos (8000 = 8 seg)

Finalmente, para que el código de arriba funcione correctamente, hay que usar las palabras mágicas "body onload", de la siguiente forma. En la etiqueta body ponemos esto:

< body onload="delay()" >

De este modo conseguís que se abra una ventana limpia del explorador con vuestra nueva página. El único problema que hay es que algunos exploradores tengan activado el bloqueo de pop-ups, de tal modo que la nueva ventana quede bloqueada y el usuario tenga que aceptar que se abra manualmente (ya sabeis, la barrita amarilla que sale en el top de la página y que nos dice que se ha bloqueado una ventana emergente). En este caso no olvideis poner un aviso en la ventana desde la que se redirecciona, !y recordad dejar suficiente tiempo para que la gente pueda leerlo antes de que le salte la nueva ventana!

Un saludo :)

martes, junio 24, 2008

Nueva etapa de la web

Parece que tiene que pasar un año para que me decida a dar señales de vida, pero como se dice aquí en España, más vale tarde que nunca.
Esta vez paso de hablar de mi vida personal para no aburrir y, bueno, porque ahora mismo es un poco desastre.
Más bien os comento que hay nueva edición (que no versión) de la web. Estaba tan harta de los dominios y hostings que te plagan de publicidad, que me he instalado un servidor apache en uno de los ordenadores de casa, y la he alojado ahí.
Entre otras cosas, he pasado parte del código a php para que las ediciones sean más rápidas. He montado un nuevo Foro del Valaskialf, un nuevo libro de visitas, tagboard y cuestionario para las fichas de los guerreros divinos, que dependen sólo y exclusivamente de mi servidor. Poco a poco os iré contando como he cambiado el código y los problemillas que me han surgido mientras trataba de implementar todo esto, que no ha sido pocos, y es que, al fin y al cabo, yo no soy programadora :/
Aparte de todo esto, creo que le meteré mano tambien al layout del blog, ya veremos. Os voy contando, ok?

¡Un saludo!