Pop-up para visitas

Para alertar sobre un nuevo servicio o funcionalidad de un desarrollo web es frecuente usar ventanas pop-up que se abren en una pequña ventana nada más cargar la página y se muestran delante de esta. Estas ventanas obligan al usuario a cerrarlas o minimizarlas cada vez que se entra en la página. Por ello conviene controlar el número de veces que se muestran, para limitarlo a nuestra voluntad. Así, se logra configurar nuestro pop-up para que se abra sólo la primera vez que el usuario entre en la página.

  1. <script language=”javascript” type=”text⁄javascript”>
  2. ⁄⁄url del popup
  3. var popup_url = ”⁄ejemplos⁄javascript⁄popUp.html”
  4. ⁄⁄caracteristicas popup
  5. var atributos = ”width=320,height=200,scrollbars=0,resizable=1,toolbar=0,location=0,menubar=0,status=0,directories=0″
  6. var pop_under = 0                   ⁄⁄a 1, sera un ”pop under”, es decir, no se muestra como ventana activa
  7. ⁄⁄control de repeticion
  8. var veces_maximo = 4                    ⁄⁄numero de veces que se muestra el popup
  9. ⁄⁄parametros cookies
  10. var dominio = ”elcodigo.com”                ⁄⁄dominio del site
  11. var duracion = 30                   ⁄⁄numero de dias antes de que se repita el ciclo
  12. ⁄⁄obtencion cookie para control veces visto
  13. function get_cookie( nombre ) {
  14. var galleta = nombre + ”=”
  15. var dato = ”"
  16. if (document.cookie.length > 0) {
  17. posicion = document.cookie.indexOf(galleta)
  18. ⁄⁄comprueba si hay cookie
  19. if (posicion != -1) {
  20. posicion += galleta.length
  21. ⁄⁄busca final del valor de la cookie
  22. posicion_final = document.cookie.indexOf(“;”, posicion)
  23. if (posicion_final == -1) posicion_final = document.cookie.length
  24. ⁄⁄obtiene valor
  25. dato = unescape( document.cookie.substring(posicion, posicion_final) )
  26. }
  27. }
  28. return dato
  29. }
  30. ⁄⁄guarda cookie para control veces visto
  31. function set_cookie (nombre, valor) {
  32. ⁄⁄cuando caduca
  33. var expira = new Date()
  34. expira.setTime( expira.getTime() + (duracion * 24 * 60 * 60 * 1000))
  35. document.cookie = nombre + ”=” + escape(valor) +
  36. “; expires=” + expira.toGMTString() +
  37. “; domain=” + dominio
  38. }
  39. ⁄⁄comprobacion de veces visto
  40. function comprueba_veces_visto() {
  41. var veces = get_cookie(‘vfmcount’)
  42. if ( veces < veces_maximo) {                   ⁄⁄si no se ha visto el numero maximo de veces
  43. veces++
  44. set_cookie( ’vfmcount’, veces)              ⁄⁄establece cookie (MEJORAR)
  45. muestra_popup()                     ⁄⁄muestra popup
  46. }
  47. }
  48. function muestra_popup(){
  49. popup_vfmail = window.open( popup_url, ”", atributos)
  50. if (pop_under) {
  51. popup_vfmail.blur()                     ⁄⁄esto esconde el popup (comentar si se quiere visible)
  52. window.focus()                      ⁄⁄esto devuelve el foco a la ventana actual
  53. }
  54. }
  55. window.onload = comprueba_veces_visto;
  56. if (document.captureEvents) {           ⁄⁄N4 requiere invocar la funcion captureEvents
  57. document.captureEvents(Event.LOAD)
  58. }
  59. <⁄script>

 


¿Disfrutaste esta entrada? Por qué no dejas un comentario abajo y continúas la conversación, o te suscríbes a mi feed y obtienes los artículos como este enviados automáticamente cada día hacia tu lector de feeds.

No hay comentarios todavía.

Deja un comentario

Saltos de línea automáticos, la dirección de email nunca será publicada, HTML permitido: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

(requerido)

(requerido)