Post al azar | Suscríbete vía RSS


Entrada aleatoria en Blogger



Mostrar un post al azar es un truco sencillo que puede retener nuestras visitas, mirémoslo así:

Un usuario llega al blog por Google, mira lo que está buscando y se va, pero hay algunos curiosos que quieren saber que más nos puede enseñar el blog, para eso están las entradas relacionadas, pero por qué no mostrar una entrada al azar. Asimismo alguien que es asiduo visitador quiere leer algo más pero no sabe qué, entonces le caería bien ver una entrada aleatoria.

Esa opción la tengo desde hace mucho tiempo gracias a Rosa (sí, la del escaparate), pero recién hace unas semanas se me ocurrió sacarle provecho. Grande fue mi sorpresa al ver que ya no me lograba mostrar la entrada aleatoria, revisando veo que desde el mismo código fuente del blog desde donde obtuvo el truco Rosa ( http://purpempggy.blogspot.com ) he obtenido la solución:

Hay que agregar el siguiente script antes del </head> en la plantilla (Edición HTML) :

<script type='text/javascript'>
//<![CDATA[
var _yourBlogUrl = "http://braulioaquino.blogspot.com";

function randomPost() {
  var script = document.createElement("script");
  script.setAttribute("type", "text/javascript");
  var theUrl = _yourBlogUrl +"/feeds/posts/summary?alt=json-in-script&callback=getTotalPostsCallback&start-index=1&max-results=1";
  script.setAttribute("src", theUrl);
  document.documentElement.firstChild.appendChild(script);
};
function getTotalPostsCallback(json) {
  var totalResults = json.feed.openSearch$totalResults.$t;
  if (totalResults > 0) {
    getRandomPostNumber(totalResults);
  }
};
function getRandomPostNumber(totalResults) {
  var randomNumber = Math.floor((Math.random() * totalResults) + 1);
  getRandomUrl(randomNumber);
};
function getRandomUrl(randomNumber) {
  var script = document.createElement("script");
  script.setAttribute("type", "text/javascript");
  var theUrl = _yourBlogUrl +"/feeds/posts/summary?alt=json-in-script&callback=getTheUrlCallback&start-index=" + randomNumber + "&max-results=1";
  script.setAttribute("src", theUrl);
  document.documentElement.firstChild.appendChild(script);
};
function getTheUrlCallback(json) {
  var theUrl;
  for(var i = 0; i < json.feed.entry[0].link.length; i++) {
    if (json.feed.entry[0].link[i].rel == "alternate") {
      theUrl = json.feed.entry[0].link[i].href;
      break;
    }
  }

  if(theUrl) {
    window.location.href = theUrl;
  }
}
//]]>
</script>

Ya sabes que donde dice http://braulioaquino.blogspot.com tienes que colocar la url de tu blog, ahora guardas la plantilla y en el lugar donde quieras colocar el enlace a la entrada aleatoria (dentro de la plantilla o en un nuevo elemento html-javascript) agregas:

<a href="javascript:randomPost();">Nombre que deseas darle al enlace</a>

Ese enlace lo puedes colocar en diferentes sitios. Trata de colocarlo e un lugar que sea visible para cualquiera que entre a tu blog.

Deja tu huella, deja un comentario14 comentarios:

  1. Adrian dijo...
  2. No me funciona lo he hecho tal cual lo haz publicado

  3. Braulio Aquino dijo...
  4. Listo, te envié un mensaje al mail. Cualquier consulta me avisas.

  5. Bichicome dijo...
  6. a mi tampoco me anda...

  7. Braulio Aquino dijo...
  8. Editado, copien y peguen tal como está. En la anterior le hice unos saltos de linea en las dos filas largas para que se vea bien en el post, pero eso hacia que el código no funcione.

    Gracias por avisar.

  9. elios dijo...
  10. No me funciona me puedes ayudar?
    mi correo es elioshdez(arroba)gmail.com

    Me gustaria que se puedan mostrar 5 entradas aleatorias, ayudame.

  11. ConCarnita dijo...
  12. Genial, me funcionó perfectamente. Puedes verlo en mi blog haciendo clic en mi apodo (solo para adultos).

    Muchas gracias

  13. Braulio Aquino dijo...
  14. Hey! Me siento importante. Mi primer comentario de agradecimiento desde un blog porno :D

    Pd. De nada

  15. Tikki-kun dijo...
  16. Hay un código igual en la red ke me genera el error. Comparándolo con el tuyo, me di cuenta ke solo la ultima parte es la ke se debe cambiar (la funcion gettheURLCallBack).
    Gracias por la orientacion XD (obviamente, ya esta incluido en mi blog)

  17. BocaDelcielo dijo...
  18. Excelente! Gracias!!!

  19. DC BANZAI dijo...
  20. Genial exelente me gusta mucho el post, ademas de ser de los mejores blogs tiene muy buenos post, me gustaria que evaluaras el mio, y si te gustase tal vez podamos intercambiar links, Pura vida, el mio es www.duelscentercr.blogspot.com

  21. Jaume Solé Díaz dijo...
  22. no me funciona.

    Yo lo que queria és que me de el nomnbre del post o de los ultimos cinco post aleatorios, si ntener que pulsar ningun enlace.

    Se puede?

  23. Braulio Aquino dijo...
  24. Jaime, no, as no funciona. Tengo entendido que para eso tendrías que crear una funcion en PHP, pero en blogger no podemos usar PHP:

  25. yo mismo dijo...
  26. Muchas gracias, llevaba un tiempo intentando poner esta característica en mi Blog y por fin lo he conseguido.

    Gracias!!

  27. Fdo. R. Baños dijo...
  28. Excelente! Había probado este script auxiliándome de otros blogs de ayuda sin éxito hasta que encontré el tuyo: Gracias!!!

Publicar un comentario en la entrada

Top Blogs peru Peru Blogs TOP Bitacoras.com para Perú Bitacoras.com Technology Top Blogs BlogsPeru.com Directorio de Blogs
Auoridad en Technoraty Ver autoridad del blog

online counter