Se trata de los emoticones en los comentarios y se me ocurre que esta modificación también podría ayudar en otros casos donde el truco no funciona porque interfiere con el formulario u otros elementos agregados.
El script, lo que hace es leer un sector específico del blog y buscar una serie de textos. Si los encuentra, los cambia por cierta imagen. Por ejemplo, si encuentra :D cambia esos dos caracateres por una imagen como esta . El problema surge cuando esos caracteres son parte de un código, al cambiarlos se produce alguna clase de resultado indeseado.
Si bien es cierto que esas combinaciones de caracteres no son usuales, el nuevo código de los avatares podría llegar a contenerlos, es raro pero es posible. De los cientos que he chequeado sólo ocurrió con uno pero, aún así, ese es suficiente para trastocar una página.
El script es sencillo pero requiere de un dato, el ID del bloque a verificar y cambiar. En un principio el sector a cambiar era el identificado como comments, luego, cuando se agregaron los formularios incrustados hubo que limitar ese bloque así que se usaba comments-block, ahora, hay que limitarlo aún más y verificar sólo el contenido del comentario pero, esa etiqueta no tiene un ID:
<dd class='comment-body'>
<b:if cond='data:comment.isDeleted'>
<span class='deleted-comment'><data:comment.body/></span>
<b:else/>
<p><data:comment.body/></p>
</b:if>
</dd>
<p expr:id='"combody-" + data:comment.anchorName'><data:comment.body/></p>
<script type='text/javascript'>
cual = "combody-" + "<data:comment.anchorName/>";
emoticonComentario(cual);
</script>
<b:if cond='data:blog.pageType == "item"'>
<script type='text/javascript'>
//<![CDATA[
function emoticonComentario(cual) {
if(!document.getElementById) {return;}
bodyText = document.getElementById(cual);
cualTexto = bodyText.innerHTML;
// ....... AQUI NADA CAMBIA
bodyText.innerHTML = cualTexto;
}
//]]>
</script>
</b:if>
0 comentarios:
Publicar un comentario