Gadget de entradas aleatorias

Acabo de colocarlo a prueba en la sidebar del Escaparate.

En mi caso muestra siete entradas al azar, que irán cambiando de forma aleatoria cada vez que se refresque la página o se acceda al blog.

Para usarlo en vuestro blog, tenéis que copiar y pegar este script en un gadget HTML en vuestra sidebar:

<div id="random-posts">
<script type="text/javascript">
function getRandomPosts(json) {
var maxEntries = 5;
var numPosts = json.feed.openSearch$totalResults.$t;
var indexPosts = new Array();
for (var i = 0; i < numPosts; ++i) {
indexPosts[i] = i;
}
indexPosts.sort(function() {return 0.5 - Math.random()});
if (maxEntries > numPosts) {
maxEntries = numPosts;
}
var container = document.getElementById('random-posts');
var ul = document.createElement('ul');
for (i = 0; i < maxEntries; ++i) {
var entry = json.feed.entry[indexPosts[i]];
var li = document.createElement('li');
var a = document.createElement('a');
a.title = entry.title.$t;
for (var j = 0; j < entry.link.length; ++j) {
if (entry.link[j].rel == 'alternate') {
a.href = entry.link[j].href;
break;
}
}
a.appendChild(document.createTextNode(entry.title.$t));
li.appendChild(a);
ul.appendChild(li);
}
container.appendChild(ul);
}
</script>
<script src="/feeds/posts/summary?alt=json-in-script&callback=getRandomPosts&max-results=999" type="text/javascript"></script>
</div>

Modificaciones:

En var maxEntries = 5; colocamos el número de entradas a mostrar.
En max-results=999 yo he dejado 999 ya que son bastantes más de las que tengo publicadas, podéis poner un número mucho más alto, incluso 999999...

El script está incluido dentro de un div al que hemos llamado "random-posts", usando ese nombre podéis añadir unas líneas de CSS (siempre antes de ]]></b:skin>) para añadir un icono delante de cada título por ejemplo.
Este es el código que yo uso para mi gadget:

#random-posts li{
background: url(http://3.bp.blogspot.com/_8PJ-pgoBhWQ/Scp5LCbO5qI/AAAAAAAAGc0/i8lABu0DF7I/s320/0027_datadialogsbullet.png) no-repeat 0px 4px;
padding: 0px 0 0px 12px;
}


Nota:
He notado que a veces el gadget tarda algo en cargar, así que lo más adecuado será no colocarlo demasiado arriba en la sidebar para que no retarde la carga del blog.

Si queremos usarlo para mostrar en nuestro blog las entradas aleatorias de otro blog, colocamos la url del blog en esta línea del gadget:

<script src="http://elescaparatederosa.blogspot.com/feeds/posts/summary?alt=json-in-script&callback=getRandomPosts&max-results=999" type="text/javascript">

0 comentarios:

Publicar un comentario