Mostrando entradas con la etiqueta JavaScript. Mostrar todas las entradas
Mostrando entradas con la etiqueta JavaScript. Mostrar todas las entradas

Como cambiar una palabra por un logo o una imagen

Una de las posibilidade del JavaScript es que nuestro blog puede tener ciertas características y luego, algún tipo de código las puede cambiar muy rápidamente y sin que esto sea evidente para los visitantes. Un ejemplo típico de esto son los emoticones en los comentarios; alguien escribe cierta combinación de caracteres como :) y una función se encarga de buscarlos y cambiarlos por una imagen sonrisa

Con el mismo criterio y de manera simple, también es posible modificar otro tipo de textos, en realidad, cualquiera.

Supongamos que nos gustaría que en las entradas, cada vez que hacemos referencia a nuestro sitio, en lugar de aparecer un enlace como texto, quisiéramos que se muestre una imagen, alguna clase de logo. Es sencillo de hacer, escribimos el código en la entrada y listo:

...etiam rhoncus iaculis magna ac accumsan sed at dui et eros mollis hendrerit ...
<a href="mi_URL" target="_blank"><img src="mi_LOGO" /></a>
No hay problema pero ... hay que escribirlo ... eso mismo lo podríamos hacer de manera automática y evitarnos el trabajo de recordar el código; para eso, sólo necesitamos de una función cuya estructura elemental sería algo así:
<script type='text/javascript'>
//<![CDATA[
  function reemplazaLogos(cual) {
    if(!document.getElementById) { return; }
    var verificar = "post-" + cual;
    bodyText = document.getElementById(verificar);
    elTexto = bodyText.innerHTML;
    elTexto = elTexto.replace(/PALABRA/g,'CODIGO_HTML');
    bodyText.innerHTML = elTexto;
  }
//]]>
</script>
¿Qué hará eso? Una vez que las entradas son mostradas, buscará dentro de ellas una PALABRA y la reemplazará por un código HTML que deberemos establecer nosotros.

¿Qué palabra? Cualquiera pero es recomendable que usemos una plabra inventada, algo que podamos recorar con facilidad y que no tenga otro posible uso. Por ejemplo, podría usar MILOGO y hacer que en lugar de verse esa palabra, se viera una imagen que fuera un enlace a mi sitio:
<script type='text/javascript'>
//<![CDATA[
  function reemplazaLogos(cual) {
  if(!document.getElementById) { return; }
    var verificar = "post-" + cual;
    bodyText = document.getElementById(verificar);
    elTexto = bodyText.innerHTML;
    elTexto = elTexto.replace(/MILOGO/g,'<a href="http://misitio.blogspot.com" target="_blank"><img src="URL_imagen" style="vertical-align:text-bottom;" /></a>');
    bodyText.innerHTML = elTexto;
  }
//]]>
</script>
Coloco entonces eso antes de </head> y me faltaría hacer que se ejecutara. Para que esto funcione sin problemas y sin interferencias, lo que debemos hacer es identificar las entradas de manera precisa, dándoles un ID exclusivo. Expandiendo los artilugios, buscaremos algo así:
<div class='post-body entry-content'>
  <data:post.body/>
  <div style='clear: both;'/> <!-- clear for photos floats -->
</div>
Y reemplazaremos lo indicado por esto:
<div class='post-body' expr:id='&quot;post-&quot; + data:post.id'>
  <data:post.body/>
  <div style='clear: both;'/> <!-- clear for photos floats -->
</div>
<script type='text/javascript'>reemplazaLogos(&#39;<data:post.id/>&#39;);</script>
¿Podría usarse más de una palabra? Sí, bastaría agregar líneas como esta, una debajo de la otra:
elTexto = elTexto.replace(/OTRAPALABRA/g,'CODIGO_HTML');
En este ejemplo online se lo puede ver en funcionamiento.

Compartir Enlace

Trill: Una forma diferente de agregar Twitter al blog

mamanunes lo propuso en Twitter e insistió así que no tuve más remedio que ir y verlo risa

Trill, es un proyecto de Cameron McEfee y no es otra cosa que un pequeño pajarito que se asienta al final de nuestra página y permanece allí, siempre visible, esperando que se haga click sobre él para mostrar nuestro último tweet de manera divertida y muy original.

Los archivos necesarios para usarlo se pueden descargar desde la página del autor en formato ZIP pero, para hacerlo más sencillo de utilizar en Blogger, este otro contiene los dos archivos necesarios ya traducidos al español y con las imágenes alojadas en ImageShack.

Para usarlo sin problemas, lo mejor es agregar el contenido del archivo trill.css en la plantilla, lo abrimos con el block de notas y antes de </head> escribimos lo siguiente:
<style type='text/css'> 
  /* Y AQUÍ PEGAMOS EL CONTENIDO DEL ARCHIVO TRILL.CSS */
</style> 
Eso, no sólo nos evitará problemas con el alojamiento externo sino que de ese modo, podremos modificar algún detalle para adaptarlo a nuestra plantilla.

Luego, al script en si mismo es mejor agregarlo al final de la plantilla para evitar que un error en Twitter colapase el blog o haga que demore en cargarse. Entonces, antes de </body> ponemos esto:
<script type='text/javascript'>var userName = "nombre_usuario";</script>
<script type='text/javascript'>
//<![CDATA[
  /* Y AQUÍ PEGAMOS EL CONTENIDO DEL ARCHIVO TRILL.JS */
//]]>
</script>
Por supuesto, si se quiere alojar en un servidor externo no hay problema, en lugar de eso último colocamos:
<script type='text/javascript'>var userName = "nombre_usuario";</script>
<script type='text/javascript' src='URL_trill.js'></script>
Recordando que en ambos casos, debemos cambiar nombre_usuario por nuestro nombre.

Algunas personalizaciones son posibles, en lugar de ser mostrado al final de la página puede ser ubicado en un sitio específico modificando el script pero, más que nada, los cambios los podemos hacer en el CSS. Por ejemplo, div#trill-shell nos permite modificar las propiedades bottom y right para reubicarlo y el resto de las clases contiene las propiedades de las fuentes de los textos.

En este blog de pruebas se lo puede ver aplicado a una plantilla normal y es perfectamente compatible con cualquier otro script de Twitter.


Compartir Enlace

Crear una galeria de imágenes con Google Docs

Una de las cosas complicadas de Blogger es que, como no disponemos de la posibilidad de alojar archivos que no sean imágenes, nos vemos limitados a utilizar la plantilla o los posts para cualquier cosa, sea esto un índice, un formulario de contacto o cualquier extra que necesitemos. Es una pena porque hay muchas técnicas sencillas que nos permitirían mejorar nuestros sitios sin necesidad de recurrir siempre a gadgets ofrecidos por un servicio. Pese a eso, algunas cosas pueden hacerse usando las mismas herramientas que ofrece Google.

Una de ellas es Google Docs, especialmente las llamadas planillas de cálculo (spreadsheets) ... y antes que quienes odien estas cosas o se hayan indigestado con la palabra cáculo huyan despavoridos, déjenme aclarar que quiero mostrar como usar una de esas planillas para crear una galería de imágenes aleatorias.





cambiar las imágenes

Nada del otro mundo pero la idea puede servir para cualquier otra cosa ya que una característica de estas planillas es que podemos leer su contenido desde un sitio web así que podría servir para muchas cosas, una lista de imágenes tan simple como esta o algo más sofisticado donde se requieran muchos datos.

Entramos a Google Docs con nuestra cuenta de GMail y allí hacemos click en el menú New | Spreadsheet lo que nos abrirá una ventana con una hoja nueva que no es otra cosas que una grilla formada por columnas y filas; una hoja cuadriculada donde cada sector es una celda en la que podemos escribir algo. Lo primero que haremos es ponerle un nombre.




Nos toca ahora llenarla y en la fila 1 columna A colocaré un titulo, algo que identificará esa columna, sin acentos, espacios ni caracteres especiales para evitar problemas. En este caso, la llamaré IMAGEN y es indistinto que sea en mayúsculas o minúsculas. Luego, hacia abajo, agregaré una serie de direcciones URLs de imágenes alojadas en diferentes servidores, en Blogger mismo, en ImageShack, en XooImage, en TinyPic e incluso algunas de domino público.

Sin demasiados problemas, hemos creado una base de datos, hiper-simple pero base de datos al fin.



Ahora debemos hacer un par de cosas para que podamos leerla desde nuestro blog.

Click en el botón SHARE que está arriba a la derecha y seleccionamos Publish as web page.



Se abrirá una ventana y en la opción Get a link to the published data seleccionamos RSS. Nos mostrará un código como este:
http://spreadsheets.google.com/feeds/list/RPd2ssiQhWQVretbgDHGOD/od6/public/basic?alt=rss
donde lo único que nos importa es eso resaltado, la clave (key) que luego usaremos para leer la planilla.



Volvemos a SHARE y seleccionamos Get the link to share y nos aseguramos que sea pública pero que sólo podamos editarla nosotros.




Hasta ahí nuestra plantilla. De ahora en adelante, podremos editarla sin necesidad de repetir todos estos pasos, los cambios se iran guardando y se re-publicarán de manera automática.

¿Cuál es su característica principal? Que, al publicarlas, obtenemos un feed y ese feed es accesible, podemos leerlo con JavaScript porque Google nos dice cómo hacerlo.

Vamos entonces a agregar un pequeño script en la plantilla del blog que leerá ese feed y usará los datos de las direcciones URL de las imágenes para crear una tabla donde mostraremos seis de ellas elegidas de manera aleatoria y que, en este caso, se abrirán con LightWindow.

Justo antes de </head> ponemos esto:
<script type='text/javascript'>
//<![CDATA[
  planillaURL = new Array();
  planillaTIT = new Array();
  cantidadplanilla = 0;
  function leerGDOCS(json) {
    cantidadplanilla = json.feed.entry.length;
    for(i=0; i<cantidadplanilla; i++) {
      planillaURL[i] = json.feed.entry[i].gsx$imagen.$t;
      planillaTIT[i] = json.feed.entry[i].gsx$titulo.$t;
    }
  }
  function mostrarGDOCS(donde) {
    var salida = "";
    var max = cantidadplanilla-1;
    var alea = Math.round(Math.random()*max);
    var cual = alea;
    var anchoTHUMB = 90; // el ancho de la miniatura
    var altoTHUMB = 90; // el alto de la miniatura
    salida += "<table class='demoGDOCS' cellspacing='5' cellpadding='0'>";
    salida += "<tr>";
    for (i=0; i<=5; i++) {
       // cada miniatura es una celda de la tabla
      salida += "<td align='center' valign='middle'>";
      // si se usa otro modelo de ventana modal, debería cambiarse este enlace
      salida += "<a class='lightwindow' rel='demoGDOCS[GDOCS]' href='" + planillaURL[cual] + "'>";
      salida += "<img width='" + anchoTHUMB + "' height='" + altoTHUMB + "' src='" + planillaURL[cual] + "' />";
      salida += "</a>";
      salida += "</td>";
      cual ++;
      if(cual>max) { cual = 0; }
    }
    salida += "</tr>";
    salida += "</table>";
    document.getElementById(donde).innerHTML = salida;
  }
//]]>
</script>
<script src='http://spreadsheets.google.com/feeds/list/_aquí_el_valor_de_nuestra_clave_/od6/public/value
s?alt=json-in-script&amp;callback=leerGDOCS' type='text/javascript'/>
Y, como la tabla tiene una clase, podemos usar CSS para establecer cualquier diseño:
.demoGDOCS {
  /* es la tabla en si misma */
}
.demoGDOCS td {
  /* cada celda de la tabla */
}
.demoGDOCS td img {
  /* las miniaturas */
}
Para aplicarla basta colocar un DIV con un ID único y llamar a la función donde se nos ocurra mostrar la galería:
<div id="unNombreUNICO"></div>
<script>mostrarGDOCS('unNombreUNICO');</script>
A partir de allí, sabiendo que podemos leer cualquier columna y cualquier fila de la planilla creada, las posibilidades son múltiples y quedan libradas a la imaginación y las necesidades de cada uno.

Otra variante donde se lee otro dato más, un texto para cada imagen:





en blanco y negro



Compartir Enlace

Como crear páginas estáticas

Blogger es un servicio de blogs, eso no es novedad. Un blog tiene una característica fundamental, las entradas se muestran ordenadas cronológicamente y todas y cada una de ellas aparecerán listadas en un elemento como Archivos. No hay manera de ocultarlas. A diferencia de otros servicios carece de las llamadas páginas estáticas y esta es una de las ventajas de sistemas como WordPress.

Una página estática no es otra cosa que una entrada atemporal, está fuera del orden cronológico y suelen usarse para agregar información adicional; por ejemplo, la página About que tanto vemos, el formulario para contactos, índices diversos o incluso el blogroll.

Es cierto que tenemos fomas de simular ese tipo de página ya sea personalizando ciertos posts de tal manera que no parezcan entradas, creando blogs auxiliares pero, no es lo mismo.

Hace mucho, descargué un ZIP con un demo donde se mostraba una alternativa para crear páginas estáticas en Blogger. Lamentablemente, no encuentro la página original pero, de cualquier manera, el demo incluye la página con las explicaciones. Su autor es Haochi Chen de Googlified y él mismo lo dice: "no es una gran solución pero funciona" sonrisa

Yo disiento con eso, creo que es una buena idea aunque no es sencilla de aplicar si no se tienen conocimientos elementales de JavaScript pero, de todas formas, es un punto de partida para experimentar.

Para implementarlo, he cambiado algunos detalles de tal manera que podamos emplear la menor cantidad de archivos externos. De todas maneras, ciertas cosas deberán adaptarse a la estructura de cada plantilla así que hay que hacerlo con cuidado.

Veamos. Lo primero que necesitamos es el script cuyo contenido se encuentra en este archivo. Allí, debemos cambiar y verificar algunas cosas así que vamos a la plantilla y lo agregaremos al final, justo antes de </body>. Si tenemos agregados otros scripts al final de la plantilla como Google Analytics o Twitter, convendría que lo pusiéramos antes de estos. No, la explicación no es muy precisa pero diría que lo ideal sería buscar el último </div> de la plantilla y agregarlo justo allí debajo.

Como hay que hacerle alguna modificación para adaptarlo a cada sitio, vamos a ver el código:
<script type='text/javascript'>
//<![CDATA[

// esta función escribe el script que cargará la página estática
  function get(url) {
    var script = document.createElement("script");
    script.setAttribute('type', 'text/javascript');
    script.setAttribute('src', url);
    document.body.appendChild(script);
  }

// función creada por Dieter Raber de http://dieterraber.net
function readGet() {
    var _GET = new Array();
    var uriStr  = window.location.href.replace(/&amp;/g, '&');
    var paraArr, paraSplit;
    if(uriStr.indexOf('?') > -1){
     var uriArr  = uriStr.split('?');
      var paraStr = uriArr[1];
    } else {
      return _GET;
    }
    if(paraStr.indexOf('&') > -1) {
      paraArr = paraStr.split('&');
    } else {
      paraArr = new Array(paraStr);
    }
    for(var i = 0; i < paraArr.length; i++) {
      paraArr[i] = paraArr[i].indexOf('=') > -1 ? paraArr[i] : paraArr[i] + '=';
      paraSplit  = paraArr[i].split('=');
      _GET[paraSplit[0]] = decodeURI(paraSplit[1].replace(/\+/g, ' '));
    }
    return _GET;
  }

// es la función que "escribe" la página estática y debemos editar
  function page() {
    elHTML = '<div class="post">';
    elHTML += '<h3 class="post-title"><a href="http://miSitio.blogspot.com/?page='; 
    elHTML += tituloPE.toLowerCase();
    elHTML += '">' + tituloPE + '</a></h3>';
    elHTML += '<div class="post-body"><p>' + contenidoPE + '</p>';
    elHTML += '<div style="clear: both;"></div>';
    elHTML += '</div></div>';
    document.getElementById('main').innerHTML = elHTML;
    document.getElementById('main').style.display = 'block';
  }

// las variables 
  var _GET = readGet(); // crea la URL
  var ifPAGE  = false; // TRUE si estamos mirando una página estática
  var tituloPE  = ''; // el título de la página estática
  var contenidoPE = ''; // el contenido de la página estática

// cargamos las diferentes páginas
  switch(_GET['page']) {
    case 'paginaEstatica-1': // ejemplo 1
      get('URL_paginaEstatica1.txt');
      ifPAGE = true;
      break
    case 'paginaEstatica-2': // ejemplo 2
      get('URL_paginaEstatica2.txt');
      ifPAGE = true;
      break
    default:
  }

// ejecutar y mostrar la página
if (ifPAGE == true) {
    window.onload = function(){
      page();
    }
  }

//]]>
</script>
Lo que hará el script es usar el DIV main que es el que por defecto usa Blogger para mostrar los posts y "escribir" su contenido; por eso es importante verificar que los nombres de las clases sean las de nuestra plantilla y ahí es donde debemos tener cuidado si lo que queremos es crear algo que tenga las mismas características que un post. Este es el esquema básico del DIV main:
<b:section class='main' id='main' showaddelement='no'>
<b:widget id='Blog1' locked='true' title='Entradas del blog' type='Blog'>
.......
<b:includable id='post' var='post'>
  <div class='post uncustomized-post-template'>
    .......
    <h3 class='post-title'> ....... </h3>
    .......
    <div class='post-body'>
    .......
      <div style='clear: both;'/>
    </div>
  </div>
</b:includable>
.......
</b:widget>
</b:section>
Otra cosa que debemos cambiar y adaptar a nuestras necesidades es la configuración de las páginas que vayamos a crear. Eso, en el modelo original es lo que se ve en en el archivo page-config.js pero, me parece mejor colocarlo directamente junto con el otro y ponerlo en la plantilla para así, poder editarlo con facilidad.

El esquema para agregar una página es este:
case 'nombrePaginaEstatica':
  get('URL_paginaEstatica.txt');
  ifPAGE = true;
  break
nombrePaginaEstatica es un nombre que le daremos a la página estática para identificarla
URL_paginaEstatica.txt es la dirección URL del archivo de texto con el contenido de esa página que habremos subido a algún servidor

Cada página que creemos, deberá tener ese esquema y el nombrePaginaEstatica deberá ser único.

Ufff, suena engorroso; ya saben ahora por qué lo tuve tantos meses guardado pero, vale la pena seguir adelante. Paciencia.

Hasta aquí, tenemos el script. Podemos guardar la plantilla y, si no cometimos errores de sintaxis, el blog no sufrirá cambios; nada será distinto de lo que era. Ahora, debemos continuar y lo lógico, sería crear las páginas estáticas.

Esas páginas, originalmente eran archivos JS pero, como es más sencillo alojar archivos TXT, lo mejor es hacerlos así. Tienen sólo dos partes, dos variables, en una va el título que se mostrará y en la otra el contenido que es código HTML.

Cada página deberá tener algo así:
var tituloPE = 'EL TITULO A MOSTRAR';
var contenidoPE = 'EL CONTENIDO A MOSTRAR';
Cada una de ellas las colocaremos entre comillas simples (') y allí estará la única restricción; el contenido puede ser cualquier cosa pero no incluir comillas simples; si las necesitamos, debemos reemplazarlas por su equivalente &#39;

¿Cómo creamos ese contenido? Con cualquier editor, incluyendo el de Blogger. Basta escribir y copiar el código  HTML donde deberemos agregar manualmente los saltos de línea; es decir, si queremos que algo se muestre en una línea distinta, agregamos <br/> y si queremos dejar una línea en blanco, agregamos <br/><br/> o bien podemos colocar los párrafos entre etiquetas <p> y </p>.

¿Funcionará cualquier código? En principio sí pero, habrá que probar. Este es un ejemplo de un archivo TXT

Ahora ya está completo y lo único que falta es colocar el enlace donde nos guste, utilizando esta sintaxis:
<a href="?page=nombrePaginaEstatica">ENLACE</a>
Quiere decir que, para usar el archivo de texto about.txt del ejemplo, podría poner esto en el script:
case 'about':
  get('http://www.fileden.com/files/2006/9/14/217659/about.txt');
  ifPAGE = true;
  break
Y usar un enlace así:
<a href="?page=about">CLICK PARA VER</a>
Cada página nueva que creamos, la agregamos al script:
case 'demoPage1':
  get('URL_demoPAGE1.txt');
  ifPAGE = true;
  break
case 'demoPage2':
  get('URL_demoPAGE2.txt');
  ifPAGE = true;
  break
Y los enlaces donde quisiéramos mostrarlos, usando textos o imágenes; como parte de un menú o en la sidebar:
<a href='?page=demoPage1'>DEMO-1</a>
<a href='?page=demoPage2'>DEMO-2</a>
Un último detalle que tiene que ver más con lo estético que con otra cosa, es ver si podemos resolver la forma en que se nos muestra la página estática.

Como lo que hace el script es "re-escribir" la página donde nos encontremos eliminando parte de su contenido y lo reemplaza por el contenido del archivo de texto, la ubicamos al final y la ejecutamos cuando está cargada. Para reemplazar algo, primero debe existir ese "algo".

Esto, produce una situación indeseada, primero se nos mostrará una cosa y luego, cambiará y se nos mostrará otra.

Para disimular ese efecto, agregaremos un pequeño script justo antes de </head>, leeremos la URL de la página que se mostrará y si detectamos que en ella se encuentran los caracteres ?page significa que será una página estática así que, temporalmente, ocultaremos el DIV main y sólo lo mostraremos cuando ya esté terminado el reemplazo:
<script type='text/javascript'>
// <![CDATA[
  var uriStr = window.location.href.replace(/&amp;/g, '&');
  if(uriStr.indexOf('?page') > -1){
    document.write('<style>#main{display:none;}</style>')
  }
// ]]>
</script>
No, no es algo que puede hacerse con un par de clicks pero vale la pena intentarlo. En este blog de pruebas hay un demo online con cuatro páginas estáticas a las que se accede desde un menú y que muestran diferentes altenativas, simples o complejas.

Se crean dinámicamente pero son enlaces normales por lo tanto, también son accesibles desde otra página web así que esas páginas, también podrían ser abiertas desde acá:

 

Compartir Enlace

¿Qué es un referrer?

| 1 comentarios

Eso de los códigos misteriosos hizo que alguien preguntar ¿qué es document.referrer?

En JavaScript hay un "objeto" llamado document que es una referencia a la página que estamos viendo; con eso, podemos modificarla:
document.write("HOLA");
u obtener alguna información como por ejemplo:

document.bgColor es el color de fondo [click]
document.domain es el dominio del servidor [click]
document.location la URL [click]
document.title el titulo de la página [click]
document.referrer es la página de la que viene el usuario [click]

Así que, consultando el dato de document.referrer sabremos si se ha ingresado desde otro blog, desde algún enlace externo o si llegó desde un buscador en cuyo caso también nos dirá qué estaba buscando.

Es fácil comprobarlo, si agregáramos un elemento HTML a nuestro blog y allí pusiéramos esto:
<script type="text/JavaScript">document.write(document.referrer)
</script>
estaríamos mostrándo a quien ingresa, desde donde viene o nada si es que es un ingreso directo.

¿Para que sirve saber eso? Muchos lo utilizan para mostrar determinado contenido en función del acceso; por ejemplo, es común que ciertos sitios coloquen publicidad cuando se ingresa a través de buscadores pero no lo hagan si se ingresa de otro modo, es una forma de privilegiar a los usuarios habituales. Del mismo modo hay decenas de ejemplos en la web que juegan con ese dato.

En netmechanic.com proponen algunos métodos sencillos, por ejemplo, un mensaje de bienvenida:
<script type="text/JavaScript">
  if (document.referrer != '') {
    alert('Gracias por visitarnos desde '+document.referrer);
  }
</script>
Claro que esto así puesto daría como resultado cosas un poco extrañas :)

Otra forma de usarlo es para dirigir a los visitantes a otra página
<script type="text/JavaScript">
  if (document.referrer = 'http://deDondeVienen") {
    location.href = "http://aDondeRedirigimos";
  }
</script>
No es muy agradable hacer eso, en todo caso, es mejor mostrar un pop-up:
<script type="text/JavaScript">
  function newWindow(newContent) {
    if (document.referrer = 'http://deDondeVienen") {
      winContent = window.open(newContent, 'nextWin', 
'right=0,top=20,width=350,height=350,toolbar=no,scrollbars=no,resizable=no')  
    }
  }
  newWindow('URL_contenido')"
</script>
En webtaller.com hay más opciones, una de ellas es más razonable ya que filtra los resultados:
<script type='text/JavaScript'>
//<![CDATA[
  // creamos una lista de direcciones web que nos interese detectar, 
cualquiera sea
  var procedenciaValida = new Array(
    'http://www.google',
    'http://bing.com',
    'http://twitter.com'
  );
  // creamos una lista de mensajes para cada una de esas direcciones
  var mensajeValido = new Array(
    'Llegó utilizando el buscador de Google',
    'Llegó utilizando el nuevo buscador de Microsoft',
    'Hizo click en un enlace de Twitter'
  );
  // verificamos si el visitante llega desde alguna de ellas
  var ok = false;
  var elMensaje = 0;
  for(i in procedenciaValida) {
    if(document.referrer.indexOf(procedenciaValida[i]) > -1) {
      ok = true; // si es así será true
      cual = i;
    }
  }
  // y si es así, hacemos algo
  if(ok) {
    document.write(mensajeValido[cual]);
  }
//]]>
</script>
Ese "algo" a hacer puede ser cualquier cosa, un texto, una imagen, una ventana, un elemento oculto, sólo hay que usar la imaginación.

Compartir Enlace