A través de un correo, ayer me avisaron de que el botón para acceder a una entrada al azar, no funcionaba bien. Exactamente, lo que ocurría era que en lugar de ir a una entrada del blog, nos llevaba a un comentario en concreto dentro del feed de comentarios. Eso sí, lo hacía cojonudamente porque también era de forma aleatoria.
Pero en fin, como no era de eso de lo que se trataba, he logrado encontrar la fuente original del script y resulta que ya habían resuelto el problema. Al parecer, algún cambio en el sistema de feed ha sido el origen de todo.
Este es el nuevo código para la barra lateral, que habrá que poner en lugar del que se indicó en la entrada del 26 de Junio. Aunque no me parece necesario, si quereis poner el artilugio en la plantilla, en Phydeaux3 encontrareis cómo hacerlo:
Aunque parezca lo contrario, el código no es muy distinto del anterior ya que sólo se ha incorporado una función más. Lo que ocurre es que en la otra ocasión se puso del tirón.
Igual que entonces, se puede incluir una imagen a continuación de la frasecita "Entrada al azar" o en lugar de ella.
Pero en fin, como no era de eso de lo que se trataba, he logrado encontrar la fuente original del script y resulta que ya habían resuelto el problema. Al parecer, algún cambio en el sistema de feed ha sido el origen de todo.
Este es el nuevo código para la barra lateral, que habrá que poner en lugar del que se indicó en la entrada del 26 de Junio. Aunque no me parece necesario, si quereis poner el artilugio en la plantilla, en Phydeaux3 encontrareis cómo hacerlo:
<div id="myLuckyPost"></div>
<script type='text/javascript'>
function showLucky(root){
var feed = root.feed;
var entries = feed.entry || [];
var entry = feed.entry[0];
for (var j = 0; j < entry.link.length; ++j) {
if (entry.link[j].rel == "alternate") {
window.location = entry.link[j].href;
}
}
}
function fetchLuck(luck){
script = document.createElement('script');
script.src = '/feeds/posts/summary?start-index='+luck+'&max-results=1&alt=json-in-script&callback=showLucky';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
}
function readLucky(root){
var feed = root.feed;
var total = parseInt(feed.openSearch$totalResults.$t,10);
var luckyNumber = Math.floor(Math.random()*total);
luckyNumber++;
fetchLuck(luckyNumber);
}
function feelingLucky(){
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = '/feeds/posts/summary?max-results=0&alt=json-in-script&callback=readLucky';
document.getElementsByTagName('head')[0].appendChild(script);
}
</script>
<a href="#random" onclick="feelingLucky()" title="Entrada al azar">Entrada al azar</a>
<script type='text/javascript'>
function showLucky(root){
var feed = root.feed;
var entries = feed.entry || [];
var entry = feed.entry[0];
for (var j = 0; j < entry.link.length; ++j) {
if (entry.link[j].rel == "alternate") {
window.location = entry.link[j].href;
}
}
}
function fetchLuck(luck){
script = document.createElement('script');
script.src = '/feeds/posts/summary?start-index='+luck+'&max-results=1&alt=json-in-script&callback=showLucky';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
}
function readLucky(root){
var feed = root.feed;
var total = parseInt(feed.openSearch$totalResults.$t,10);
var luckyNumber = Math.floor(Math.random()*total);
luckyNumber++;
fetchLuck(luckyNumber);
}
function feelingLucky(){
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = '/feeds/posts/summary?max-results=0&alt=json-in-script&callback=readLucky';
document.getElementsByTagName('head')[0].appendChild(script);
}
</script>
<a href="#random" onclick="feelingLucky()" title="Entrada al azar">Entrada al azar</a>
Aunque parezca lo contrario, el código no es muy distinto del anterior ya que sólo se ha incorporado una función más. Lo que ocurre es que en la otra ocasión se puso del tirón.
Igual que entonces, se puede incluir una imagen a continuación de la frasecita "Entrada al azar" o en lugar de ella.
¿Vemos otro post al azar por si le encuentras utilidad o quizás prefieres ser más metódico y suscribirte a nuestras entradas por correo? También puedes imprimir este artículo y por supuesto compartirlo en redes sociales si fue de tu agrado.
Muchas gracias, habia detectado el problema (tambien en otros widgets, como el de "posts mas comentados", que supongo tendrá la misma raiz), pero no se me había ocurrido ir a la fuente original :D
ResponderEliminarSaludos y de nuevo gracias, mi botoncito ya refunciona.
nosotros elegimos en qué categoría votarte???...me pregunto: se suman los votos por ejemplo: tecnología, ayuda, revelación.
ResponderEliminarCreo que has hecho bien en anotarte, porque es un blog espectacular...no sé si tenías otro antes, pero está bárbaro. Saludos!!!
Pues no, no creo que se sumen, pero es que realmente no sé en que categoría encasillarme...
ResponderEliminarDijiste ayuda pero no hay esa categoría.
Oloman hola!!!, ya he visto la página...primero me dice ingresa, luego no te has adherido...realizo todo nuevamente...ya estás adherida, veré cómo se hace.
ResponderEliminarNo está ayuda, sí tecnología...ahí te pondré, besitos!!!
...o blog Revelación jajaja...no sé cúal de los dos...veremos
ResponderEliminarMuchas gracias, había tenido problemas con el código y no sabia si se podía arreglar :D
ResponderEliminarMuchas Gracias
como pongo una imagen en lugar del texto ?? salu2
ResponderEliminary tambien que se muestren mas de 1 entrada .. por ejemplo unas 10 entradas aleatorias espero respuestas salu2 y gracias de antemano
ResponderEliminarMuchas gracias Oloman al final utilizez se metodo de tanto buscar pero me alegro de que hayas respondido :) ... aqui te dejo algo que busco desde hace tiempo ... se trata de poner una imagen flotante " http://blog-bazar.com.ar/2007/12/agregar-una-imagen-flotante-fija.html#comments "
ResponderEliminarmi pregunta la es la ultima "spirit warrior" no me responden nadien en el otro blog :P espero que me puedas ayudar. salu2
Hace un montón que quería poner el random y suerte que llegué acá. Gracias. Es bueno que haya gente que se dedique a esto, jeje.
ResponderEliminarSaludos!
Ö gracias, ya veo porque no funciono desde algun principio :)
ResponderEliminarA mi no me funciono
ResponderEliminar¿Dónde lo tienes puesto? Lo único que puedo hacer es que lo instales y darme una vuelta para repasar lo que pusiste, porque como podrás comprobar en mi barra lateral (dados), a día de hoy funciona correctamente.
ResponderEliminarMuchas gracias!!!
ResponderEliminarme ha servido, para mi blog.. lo puse dentro de una de las celdas de la tabla que hice para el menú de arriba.. y al texto "Entrada al azar" lo reemplacé por la div con imagen de sustitución.. que saqué de aquí tambien..
vaya... tienen un blog genial.
muchos saludos.
Hola Luis. Te quedó muy bien ese menú. Saludos.
ResponderEliminarGracias, ¿y para insertarlo en la entrada como lo tienes tu es todas tus entradas?
ResponderEliminarEs fácil nEjO, pero como es algo largo, déjame que prepare un post para explicarlo.
ResponderEliminarhola, hace un tiempo instalé este gadget pero ahora no me funciona. Cuando clicas en "ver una entrada al azar", en la barra de direcciones me sale "http://retroroc.blogspot.com/#random" y continúa en la página de inicio. Antes funcionaba perfectamente. ¿alguna solución?.
ResponderEliminarGracias
Sólo se me ocurre una. La universal: salir y volver a entrar o lo que es lo mismo, reiniciar. Elimina el gadget y vuelve a poner el código que aquí se explica. Es posible que cambiaras algo sin querer, porque puedes comprobar en las frases al final de cada uno de mis posts, que todavía sigue funcionando bien.
EliminarYa lo probé. Lo eliminé y lo volví a poner. También probé con 3 ó 4 distintos que venían en otras webs, y con un código directamente en la plantilla al que se llamaba con una línea a través de otro gadget de html. No funcionó nada. Hace un tiempo toqué bastante la plantilla para dejar el blog a mi gusto, pero con la última que tengo guardada tampoco funciona.
ResponderEliminarMuy bueno oloblogger. Los que tenemos poca idea podemos hacer algo gracias a vosotros.
Pues de verdad que lo he probado por segunda vez y sigue funcionando correctamente. Esta vez lo hice en otro blog también bastante modificado y pitó bien tanto en gadget como en plantilla.
EliminarPara esta última variante lo único que hay que hacer es añadir unas etiquetas para que Blogger trague con el código sin problemas:
<script type='text/javascript'>
//<![CDATA[
CODIGO DEL SCRIPT
//]]>
</script>
Lo acabo de añadir de esta manera en Musicae Memorandum, en el menú superior.
Podrías por favor decirme, estimado Oloman, si ya publicaste una entrada sobre ello (que preguntaba nEjo), o podrías decirme cómo implementar (así como en tu web) lo de las entradas al azar que sea desde la misma entrada.
EliminarNo, no lo publiqué al final, pero fíjate en mi comentario anterior. Tienes que ir antes de </head> y añadir todo el código del principio, con la única precaución que se explica en 20.1. Todo excepto la última línea:
Eliminar<a href='#random' onclick='feelingLucky();' title='Entrada al azar'>Entrada al azar</a>
Esa es la que tienes que poner, tal y como la puse ahora, con comillas simples, al principio del post-footer o justo después de <data:post.body/>
Cuántos habremos añadido este widget a nuestro blog... =)
ResponderEliminar¿Hay alguna idea sobre cómo restringir las entradas para que seleccione sólo las que cumplan alguna condición, o algo similar?
Gracias.
Supongo que sí pero habría que reprogramar bastante. Tras conseguir el post aleatorio (función feelingLucky) habría que comprobar si cumple la condición y si no volver a llamar a esa función para que escogiera una segunda al azar y así sucesivamente hasta que la cumpliera ¿Pero qué tipo de condición podría ponerse?
EliminarPerdón por no contestar antes, había perdido el hilo de la entrada.
EliminarPor ejemplo una condición tal que sólo se busquen las palabras que incluyan una etiqueta determinada.
La idea busca hacer viajes aleatorios a entradas de una página en concreto, no sé si me explico.
¡Gracias!
En ese caso quizás sería más fácil cambiar la dirección del feed que figura en el código (/feeds/posts/summary) por /feeds/posts/default/-/NOMBRE_ETIQUETA, pero de verdad que no sé si funcionará. Ese código es algo complicado de entender por mí.
EliminarGrande Manolo como siempre- Abrazo desde Uruguay
ResponderEliminar