BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

Bugs/Devel

Comentarios nuevos (rojos) en hilos largos (SOLUCIONADO)

mceds
1

Tengo la duda de si esto lo he comentado anteriormente o no; ante la duda, la tetuda: lo vuelvo a hacer.

En el actual diseño de BA, la fecha de escritura de los mensajes nuevos de un hilo (nuevos para el usuario registrado) aparece en color rojo. Pero, si el hilo es muy largo, encontrar esos mensajes nuevos es un dolor de huevos. ¿Sería posible añadir alguna cadena reconocible por el 'CTRL+F' de los navegadores, para así localizar estos mensajes nuevos de forma más sencilla?

Debería ser algo que no se encontrara habitualmente en el contenido de un mensaje, como por ejemplo "%%%". Como esto quedaría más bien tirando a feo, una forma de ocultarlo podría ser ponerlo del mismo color que el fondo: CTRL+F seguiría detectándolo pese a ser "invisible".

Edición 2/Ene/2018: me conformo con la solución propuesta por Sierpinski: hacer uso de un "bookmarklet". El que he programado copiado, pegado y ensamblado es éste, que me sirve perfectamente:

javascript:(function(){ics=document.getElementsByClassName("dt%20hl");for(var%20i=0,len=ics.length;i<len;i++){ics[i].click();ics[i].scrollIntoView(true);currentMsg="Next?";if(!confirm(currentMsg)){break;}}})();

Edición 17/abril/2019: después de los últimos retoques en el código del foro, el código del bookmarklet ha de cambiarse ligeramente:

javascript:(function(){ics=document.getElementsByClassName("dt%20hgh");for(var%20i=0,len=ics.length;i<len;i++){ics[i].click();ics[i].scrollIntoView(true);currentMsg="Next?";if(!confirm(currentMsg)){break;}}})();
Spyd
1

¿No sería más fácil e intuitivo añadir un enlace o botón que ponga "Ir al primer comentario no leído" como hacen la mayoría de foros?

🗨️ 1
mceds
1

Fácil e intuitivo, sí. Pero, una vez que has leído el primer comentario no leído, ¿cómo vas al segundo, al tercero, al cuarto? De hecho, con el sistema de ramas de BA.eu, el segundo puede estar no debajo sino encima.

Estamos hablando de hilos con muchísimas ramas y mensajes, como el de Movistar subirá 5 € en febrero a cambio de duplicar hasta 600 Mbps.

sierpinski
2

Te puedes hacer un bookmarklet para ello. Si no sabes te lo puedo hacer yo.

🗨️ 10
mceds
1

Gracias. Pero creo que la solución sencilla siempre es la mejor y aquí no se trata de que aprendamos JS cuando se podría hacer de un modo más fácil.

Si no hay respuesta de Intendencia, ya me pondré a ello, que me gusta aprender cosas nuevas.

🗨️ 9
mceds
1

@sierpinski : después de revisar el código, he descubierto que los comentarios en rojo pertenecen a las clases "dt" y "hl". Así que, mareándome un poco con un montón de páginas de JS, he llegado a una beta de código (habría que meter más cosas):

function search() {
   var targetId = "";
   var divs = document.getElementsByClassName("dt hl");
   for (var i = 0; i < divs.length; i++) {
         targetId = divs[i].parentNode.id;
         document.getElementById(targetId).scrollIntoView();
         break;
    }
}

Sin embargo, no funciona y la queja es "Empty string passed to getElementById()". A ver si se te ocurre algo, que no tengo ni zorra de este lenguaje.

🗨️ 8
mceds
1

Olvídate. En StackExchange he encontrado una pieza de código mucho más sencilla que, tuneada un poco, me sirve ferpectamente. Es ésta:

ics = document.getElementsByClassName("dt hl");
for (var i = 0, len = ics.length; i < len; i++) {
    ics[i].click();
    ics[i].scrollIntoView(true);
    currentMsg = "Next?";
    if (!confirm(currentMsg)) {
        break;
    }
}

Con Bookmarklet Crunchinator se puede convertir fácilmente a bookmarklet. ¡Gracias por tu sugerencia y problema resuelto!

Josh
1

dt = date

hl = hightlight

🗨️ 6
mceds
2
🗨️ 5
Josh
1
🗨️ 4
mceds
🗨️ 3
Josh
🗨️ 2
mceds
🗨️ 1
mceds
Josh
1

Eso demuestra que aunque el anidado es útil, hay que limitarlo pq genera hilos difíciles de seguir. Por mi dejaría solo dos niveles.

🗨️ 1
mceds
1

Uf, sin anidado es aún peor seguir las conversaciones.

mceds

Después de casi tres meses usando el bookmarklet, tengo que decir que... ¡es la rehostia! Cómo lo echo de menos en equipos donde no lo tengo disponible.

Ahora bien, @HyperBoss 😋, últimamente todos los comentarios con "fecha en rojo" me desaparecen (se convierten a "fecha en negro") en cuanto contesto un primer mensaje. ¿Se podría hacer algo con el algoritmo para evitar este ennegrecimiento?

Es decir, que un mensaje con fechas en rojo las mantenga en rojo hasta que realmente "entre" en ese mensaje (y no cuando conteste a otro aleatorio).

🗨️ 7
Josh

Eso no debería ocurrir. Probaré a ver si me pasa a mi tras este comment.

Editado: Pues no, a mi me va perfecto.

🗨️ 6
mceds

Cuando llegue a casa, detallaré más el bug/ feature.

superllo

Es aleatorio creo, de vez en cuando me pasa que tardo un minuto en abrir todos los mensajes y ya no se marcan los nuevos. Yo creo que es cosa del timing que le hayas puesto.

🗨️ 3
mceds

¿Se aceptan sobornos para ver aumentado ese timing?

🗨️ 2
superllo
🗨️ 1
mceds
mceds

Vale, me acaba de pasar. Describo mi modus operandi habitual:

1. Entro en el foro, sección "Activos".
2. Voy entrando en los posts, abriéndolos en pestañas nuevas y leyéndolos de más antiguo a más moderno (de abajo a arriba). Tienen sus mensajes no leídos con la fecha en rojo.
3. Uno de los posts requiere respuesta. Respondo.
4. Cuando abro los restantes en sus pestañas, ya no tienen los mensajes no leídos en rojo.