viernes, 1 de abril de 2011

Oloblogger

Oloblogger


Error bX-67oaj1 y otros problemas con enlaces de navegación

Posted: 31 Mar 2011 07:00 AM PDT

Ayer publiqué una entrada en la que además de informar de un problema con los enlaces de navegación Entradas más recientes/Entradas antiguas, pedía socorro de una forma descarada. Esto lo cuento lo primero,  para que los que creéis que por aquí anda algún experto en estos temas, os lo quitéis de una vez de la cabeza ☺

Había pasado por encima de la solución, pero se conoce que con tantas cosas que probé, la correcta no la apliqué bien. Menos mal que Pizcos y Balthazar! me hicieron insistir en la misma idea y gracias a ello, volví a retomarla.

El problema se manifiesta pinchando en dichos enlaces y las dos maneras en que se presenta es o bien mostrando directamente una página de error bX-67oaj1, o bien en la forma que expliqué en el post citado. Esto era que el enlace iba a una página extraña, que mostraba en el navegador la dirección de inicio y no la que debería (http://oloblogger.blogspot.com/search?updated-max=2011-02-09T12... etc). También afectaba a algunas condiciones que no se ejecutaban.

No he encontrado un patrón para saber a quién le dará problemas esto (plantillas antiguas, nuevas, algún gadget...), por lo que sospecho que se trata de un nuevo cambio interno de Blogger. En concreto, creo que nos ocurre a todos los que conservamos el código original del gadget que forma esos enlaces (nextprev), ya que la solución pasa por eliminar una de las variables que incluye (data:widget.instanceId). Sinceramente, no tengo ni idea para qué sirve, porque ni siquiera está en la lista "oficial" de etiquetas data, pero lo importante es que ahora estorba.

Como siempre, la solución es muy fácil... cuando se conoce, claro. Con plantillas de artilugios expandidas hay que buscar este trozo de código:

<b:includable id='nextprev'>
<div class='blog-pager' id='blog-pager'>
<b:if cond='data:newerPageUrl'>
<span id='blog-pager-newer-link'>
<a class='blog-pager-newer-link' expr:href='data:newerPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-newer-link&quot;' expr:title='data:newerPageTitle'><data:newerPageTitle/></a>
</span>
</b:if>

<b:if cond='data:olderPageUrl'>
<span id='blog-pager-older-link'>
<a class='blog-pager-older-link' expr:href='data:olderPageUrl' expr:id='data:widget.instanceId + &quot;_blog-pager-older-link&quot;' expr:title='data:olderPageTitle'><data:olderPageTitle/></a>
</span>
</b:if>

<a class='home-link' expr:href='data:blog.homepageUrl'><data:homeMsg/></a>

¿Veis lo que está marcado en verde-negrita? Pues eso lo quitáis y listo.

Si alguna vez habéis sustituido el texto estándar (data:newerPageTitle / data:olderPageTitle) por una imagen, el código que pongo de referencia será algo distinto en vuestro caso, pero lo importante es borrar la expresión que incluye el data:widget.intanceld de los c..., lo demás, tal como lo tengáis.

A otra cosa mariposa.


Variante para usar YouTube como reproductor de audio

Posted: 31 Mar 2011 07:00 AM PDT

Gracias a Mandelrot que nos comentó que había publicado este sistema en su blog, conocimos otra forma de conseguir el truco para insertar sólo audio desde YouTube.

En aquel, dejábamos la carátula del reproductor sin la parte de vídeo y luego podíamos ir acortando lo que quedaba por el centro. Pero siempre nos quedaban las puntas; al menos el botón del play, el del volumen y el de pantalla completa. Sin embargo, con este otro sistema podremos truncar por la derecha.

Para empezar, al iframe del reproductor original le cambiamos igualmente la altura por 27px. Lo diferente ahora es que luego  metemos todo dentro de un div más pequeño que el reproductor y a ese div le añadimos un overflow:hidden; para que trunque el contenido y no se vea la parte derecha.

Así, esto...

<iframe title="YouTube video player" width="425" height="349" src="http://www.youtube.com/embed/bg8EQdcud7Q?rel=0" frameborder="0" allowfullscreen></iframe>


...lo transformamos en esto:

<div style="overflow:hidden;width:252px;">
<iframe title="YouTube video player" width="425" height="27" src="http://www.youtube.com/embed/bg8EQdcud7Q?rel=0" frameborder="0" allowfullscreen></iframe>
</div>


Para calcular el ancho del div, usamos estas medidas de la barra del reproductor:


Por tanto, para quitar el primer trozo de la derecha, restamos al ancho del código original la cantidad de 173px. (425-173=252px, en el ejemplo)

Si queremos reducirlo más para dejar sólo los dos primeros botones, entonces fijamos el div en 63px.

<div style="overflow:hidden;width:63px;">
<iframe title="YouTube video player" width="425" height="27" src="http://www.youtube.com/embed/bg8EQdcud7Q?rel=0" frameborder="0" allowfullscreen></iframe>
</div>


Y si queremos un auténtico reproductor minimalista, lo dejamos en 32px:

<div style="overflow:hidden;width:32px;">
<iframe title="YouTube video player" width="425" height="27" src="http://www.youtube.com/embed/bg8EQdcud7Q?rel=0" frameborder="0" allowfullscreen></iframe>
</div>


No hay comentarios:

Publicar un comentario

Correo Vaishnava

Archivo del blog