Cómo poner una entrada al azar (aleatoria) en tu blog de blogger


Si nos sabes cómo poner un gadget para mostrar un post aleatorio en tu blogspot sigue los siguientes pasos:

1) Vamos a Diseño
2) Edición de HTML
3) Buscamos </head> (tecleamos Ctrl + F para buscar más rápido)
4) Antes de </head> pegamos el siguiente script:


<script type='text/javascript'>
//<![CDATA[
var _yourBlogUrl = "http://www.quierocrearunblog.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>



Sustituye http://www.quierocrearunblog.com por la dirección de tu blog.

5) Ahora tenemos que crear un gadget HTML/Javascript. Para ello vamos a Diseño->Elementos de página->Añadir un gadget->HTML/Javascript. En él pegaremos el siguiente código:

<a href="javascript:randomPost();">Entrada aleatoria</a>

Ya hemos acabado. Puedes hacer la prueba: Entrada aleatoria



Codigo extraído gracias a purplemoggy.

2 comentarios:

  1. Hola, amigo.

    Como podria hacer para en lugar de enviar a una entrada aleatoria, me muestre todos los titulos y url's de todas las entradas existentes, por ejemplo en un select?

    Saludos!!

    ResponderEliminar
  2. Hola , no se si ya lo haz publicado o no , pero queria saber como poner un clip de sonido ._. o no se es musica pero solo sale la barra de play pause , etc . lo eh visto en varios blog's Gracias c:
    y perdon por no seguir la regla 2
    >:C no me odies

    ResponderEliminar