21 febrero 2012

¿No funciona el enlace de "Responder" de los comentarios anidados?, prueba esta solución...


Desde ayer por la tarde, empecé a tener problemas con los comentarios, no funcionaba el enlace de "Responder",  me extrañó, y empece a preguntar si a otros les pasaba en G+ y Twitter,  y desde G+ el Potro de Ciudad Blogger me comentaba que desde hace aproximadamente dos semanas, empezó a tener algunos problemas de forma esporádica.

Decidí averiguar un poco, y empecé por el script de los comentarios (me alegra haberlo hecho) sustituyéndolo en mi plantilla por el script de una plantilla sin modificaciones de Blogger, y santo remedio, empezó a funcionar el enlace.

Actualización explicándolo paso a paso:
Si tienes el mismo problema muy probablemente se deba a que no tienes en tu plantilla una actualización que hizo Blogger al sistema de comentarios anidados, y tendrás que hacerlo manualmente:

Cómo hacerlo paso a paso

Paso 1. Ve a la Edición de HTML de la plantilla, marca la casilla de expandir plantillas de artilugios, y busca la parte del código que marque de rojo, con la ayuda de ctrl F, en algunas ocaciones, según me han comentado, esa parte si se actualiza, y ya aparece como async='async', el problema entonces es el script que está debajo y que puse de color morado:
<script defer='defer' expr:src='data:post.commentSrc' type='text/javascript'/>
  <script type='text/javascript'>
    (function() {
      var items = <data:post.commentJso/>;
      var msgs = <data:post.commentMsgs/>;
      var postId = &#39;<data:post.id/>&#39;;
      var feed = &#39;<data:post.commentFeed/>&#39;;
      var authorName = &#39;<data:post.author/>&#39;;
      var authorUrl = &#39;<data:post.authorUrl/>&#39;;
      var blogId = &#39;<data:top.id/>&#39;;
      var baseUri = &#39;<data:post.commentBase/>&#39;;
      var maxThreadDepth = &#39;<data:post.commentMaxThreadDepth/>&#39;;
// <![CDATA[
      feed += '?alt=json&v=2&orderby=published&reverse=false&max-results=50';
      var cursor = null;
      if (items && items.length > 0) {
        cursor = parseInt(items[items.length - 1].timestamp) + 1;
      }
      var bodyFromEntry = function(entry) {
        if (entry.gd$extendedProperty) {
          for (var k in entry.gd$extendedProperty) {
            if (entry.gd$extendedProperty[k].name == 'blogger.contentRemoved') {
              return '<span class="deleted-comment">' + entry.content.$t + '</span>';
            }
          }
        }
        return entry.content.$t;
      }
      var parse = function(data) {
        cursor = null;
        var comments = [];
        if (data && data.feed && data.feed.entry) {
          for (var i = 0, entry; entry = data.feed.entry[i]; i++) {
            var comment = {};
            // comment ID, parsed out of the original id format
            var id = /blog-(\d+).post-(\d+)/.exec(entry.id.$t);
            comment.id = id ? id[2] : null;
            comment.body = bodyFromEntry(entry);
            comment.timestamp = Date.parse(entry.published.$t) + '';
            if (entry.author && entry.author.constructor === Array) {
              var auth = entry.author[0];
              if (auth) {
                comment.author = {
                  name: (auth.name ? auth.name.$t : undefined),
                  profileUrl: (auth.uri ? auth.uri.$t : undefined),
                  avatarUrl: (auth.gd$image ? auth.gd$image.src : undefined)
                };
              }
            }
            if (entry.link) {
              if (entry.link[2]) {
                comment.link = comment.permalink = entry.link[2].href;
              }
              if (entry.link[3]) {
                var pid = /.*comments\/default\/(\d+)\?.*/.exec(entry.link[3].href);
                if (pid && pid[1]) {
                  comment.parentId = pid[1];
                }
              }
            }
            comment.deleteclass = 'item-control blog-admin';
            if (entry.gd$extendedProperty) {
              for (var k in entry.gd$extendedProperty) {
                console.log(entry.gd$extendedProperty[k].name + ' - ' + entry.gd$extendedProperty[k].value);
                if (entry.gd$extendedProperty[k].name == 'blogger.itemClass') {
                  comment.deleteclass += ' ' + entry.gd$extendedProperty[k].value;
                }
              }
            }
            comments.push(comment);
          }
        }
        return comments;
      };
      var paginator = function(callback) {
        if (hasMore()) {
          var url = feed;
          if (cursor) {
            url += '&published-min=' + new Date(cursor).toISOString();
          }
          window.bloggercomments = function(data) {
            var parsed = parse(data);
            cursor = parsed.length < 50 ? null
                : parseInt(parsed[parsed.length - 1].timestamp) + 1
            callback(parsed);
            window.bloggercomments = null;
          }
          url += '&callback=bloggercomments';
          var script = document.createElement('script');
          script.type = 'text/javascript';
          script.src = url;
          document.getElementsByTagName('head')[0].appendChild(script);
        }
      };
      var hasMore = function() {
        return !!cursor;
      };
      var getMeta = function(key, comment) {
        if ('iswriter' == key) {
          var matches = !!comment.author
              && comment.author.name == authorName
              && comment.author.profileUrl == authorUrl;
          return matches ? 'true' : '';
        } else if ('deletelink' == key) {
          return baseUri + '/delete-comment.g?blogID=' + blogId + '&postID=' + comment.id;
        } else if ('deleteclass' == key) {
          return comment.deleteclass;
        }
        return '';
      };
      var replybox = null;
      var replyUrlParts = null;
      var replyParent = undefined;
      var onReply = function(commentId, domId) {
        if (replybox == null) {
          // lazily cache replybox, and adjust to suit this style:
          replybox = document.getElementById('comment-editor');
          if (replybox != null) {
            replybox.height = '250px';
            replybox.style.display = 'block';
            replyUrlParts = replybox.src.split('#');
          }
        }
        if (replybox && (commentId !== replyParent)) {
          document.getElementById(domId).insertBefore(replybox, null);
          replybox.src = replyUrlParts[0]
              + (commentId ? '&parentID=' + commentId : '')
              + '#' + replyUrlParts[1];
          replyParent = commentId;
        }
      };
      var tok = 'comment-form_';
      var hash = window.location.hash || '';
      var startThread = hash.indexOf(tok) == 1 ? hash.substring(tok.length + 1) : undefined;
      // Configure commenting API:
      var configJso = {
        'maxDepth': maxThreadDepth
      };
      var provider = {
        'id': postId,
        'data': items,
        'loadNext': paginator,
        'hasMore': hasMore,
        'getMeta': getMeta,
        'onReply': onReply,
        'rendered': true,
        'initReplyThread': startThread,
        'config': configJso,
        'messages': msgs
      };
      var render = function() {
        if (window.goog && window.goog.comments) {
          var holder = document.getElementById('comment-holder');
          window.goog.comments.render(holder, provider);
        }
      };
      // render now, or queue to render when library loads:
      if (window.goog && window.goog.comments) {
        render();
      } else {
        window.goog = window.goog || {};
        window.goog.comments = window.goog.comments || {};
        window.goog.comments.loadQueue = window.goog.comments.loadQueue || [];
        window.goog.comments.loadQueue.push(render);
      }
    })();
// ]]>
  </script>

Paso 2. Ya que encontarste todo ese código, lo sustituyes por el siguiente, si el primer script (y que puse de azul) ya aparecía actualizado, es decir ya aparece como async='async',  entonces, sólo sustituyes el que está debajo:
<script async='async' expr:src='data:post.commentSrc' type='text/javascript'/>
  <script type='text/javascript'>
    (function() {
      var items = <data:post.commentJso/>;
      var msgs = <data:post.commentMsgs/>;
      var config = <data:post.commentConfig/>;
// <![CDATA[
      var cursor = null;
      if (items && items.length > 0) {
        cursor = parseInt(items[items.length - 1].timestamp) + 1;
      }
      var bodyFromEntry = function(entry) {
        if (entry.gd$extendedProperty) {
          for (var k in entry.gd$extendedProperty) {
            if (entry.gd$extendedProperty[k].name == 'blogger.contentRemoved') {
              return '<span class="deleted-comment">' + entry.content.$t + '</span>';
            }
          }
        }
        return entry.content.$t;
      }
      var parse = function(data) {
        cursor = null;
        var comments = [];
        if (data && data.feed && data.feed.entry) {
          for (var i = 0, entry; entry = data.feed.entry[i]; i++) {
            var comment = {};
            // comment ID, parsed out of the original id format
            var id = /blog-(\d+).post-(\d+)/.exec(entry.id.$t);
            comment.id = id ? id[2] : null;
            comment.body = bodyFromEntry(entry);
            comment.timestamp = Date.parse(entry.published.$t) + '';
            if (entry.author && entry.author.constructor === Array) {
              var auth = entry.author[0];
              if (auth) {
                comment.author = {
                  name: (auth.name ? auth.name.$t : undefined),
                  profileUrl: (auth.uri ? auth.uri.$t : undefined),
                  avatarUrl: (auth.gd$image ? auth.gd$image.src : undefined)
                };
              }
            }
            if (entry.link) {
              if (entry.link[2]) {
                comment.link = comment.permalink = entry.link[2].href;
              }
              if (entry.link[3]) {
                var pid = /.*comments\/default\/(\d+)\?.*/.exec(entry.link[3].href);
                if (pid && pid[1]) {
                  comment.parentId = pid[1];
                }
              }
            }
            comment.deleteclass = 'item-control blog-admin';
            if (entry.gd$extendedProperty) {
              for (var k in entry.gd$extendedProperty) {
                if (entry.gd$extendedProperty[k].name == 'blogger.itemClass') {
                  comment.deleteclass += ' ' + entry.gd$extendedProperty[k].value;
                }
              }
            }
            comments.push(comment);
          }
        }
        return comments;
      };
      var paginator = function(callback) {
        if (hasMore()) {
          var url = config.feed + '?alt=json&v=2&orderby=published&reverse=false&max-results=50';
          if (cursor) {
            url += '&published-min=' + new Date(cursor).toISOString();
          }
          window.bloggercomments = function(data) {
            var parsed = parse(data);
            cursor = parsed.length < 50 ? null
                : parseInt(parsed[parsed.length - 1].timestamp) + 1
            callback(parsed);
            window.bloggercomments = null;
          }
          url += '&callback=bloggercomments';
          var script = document.createElement('script');
          script.type = 'text/javascript';
          script.src = url;
          document.getElementsByTagName('head')[0].appendChild(script);
        }
      };
      var hasMore = function() {
        return !!cursor;
      };
      var getMeta = function(key, comment) {
        if ('iswriter' == key) {
          var matches = !!comment.author
              && comment.author.name == config.authorName
              && comment.author.profileUrl == config.authorUrl;
          return matches ? 'true' : '';
        } else if ('deletelink' == key) {
          return config.baseUri + '/delete-comment.g?blogID='
               + config.blogId + '&postID=' + comment.id;
        } else if ('deleteclass' == key) {
          return comment.deleteclass;
        }
        return '';
      };
      var replybox = null;
      var replyUrlParts = null;
      var replyParent = undefined;
      var onReply = function(commentId, domId) {
        if (replybox == null) {
          // lazily cache replybox, and adjust to suit this style:
          replybox = document.getElementById('comment-editor');
          if (replybox != null) {
            replybox.height = '250px';
            replybox.style.display = 'block';
            replyUrlParts = replybox.src.split('#');
          }
        }
        if (replybox && (commentId !== replyParent)) {
          document.getElementById(domId).insertBefore(replybox, null);
          replybox.src = replyUrlParts[0]
              + (commentId ? '&parentID=' + commentId : '')
              + '#' + replyUrlParts[1];
          replyParent = commentId;
        }
      };
      var hash = (window.location.hash || '#').substring(1);
      var startThread, targetComment;
      if (/^comment-form_/.test(hash)) {
        startThread = hash.substring('comment-form_'.length);
      } else if (/^c[0-9]+$/.test(hash)) {
        targetComment = hash.substring(1);
      }
      // Configure commenting API:
      var configJso = {
        'maxDepth': config.maxThreadDepth
      };
      var provider = {
        'id': config.postId,
        'data': items,
        'loadNext': paginator,
        'hasMore': hasMore,
        'getMeta': getMeta,
        'onReply': onReply,
        'rendered': true,
        'initComment': targetComment,
        'initReplyThread': startThread,
        'config': configJso,
        'messages': msgs
      };
      var render = function() {
        if (window.goog && window.goog.comments) {
          var holder = document.getElementById('comment-holder');
          window.goog.comments.render(holder, provider);
        }
      };
      // render now, or queue to render when library loads:
      if (window.goog && window.goog.comments) {
        render();
      } else {
        window.goog = window.goog || {};
        window.goog.comments = window.goog.comments || {};
        window.goog.comments.loadQueue = window.goog.comments.loadQueue || [];
        window.goog.comments.loadQueue.push(render);
      }
    })();
// ]]>
  </script>
Nota: El código anterior, lo estoy tomando de una plantilla de Blogger sin editar, que ha sido actualizada.

Paso 3. Verifica en vista previa que todo luce bien, y si es así guarda los cambios.

Espero sea útil, ya me contarás...

Ultima actualización:  febreo 25, 2012.


No olvides suscribirte, para recibir todas mis actualizaciones, directamente a tu email.

Ingresa tu correo electrónico:

Recuerda confirmar tu suscripción, haciendo click en el enlace que recibirás por email.

66 comentarios:

  1. mmm.. tal vez le hice un cambio a mi plantilla que afecto los comentarios porque desde que aparecieron los comentarios anidados a mi no me cambió. Ya intente esto pero no me aparece el código que dices, encontré algo similar, lo cambié y no, sigue igual :/ ¿qué crees que podría ser?
    SALUDOS.

    ResponderSuprimir
    Respuestas
    1. Pero si tienes comentarios anidados ¿verdad?, esto es un problema reciente, que no tiene que ver si usas scriptaculous etc...

      Si no funcionan en tu blog los comentarios anidados y usas el feed completo, entonces los tienes que habilitar, echa un vistazo a esto:

      http://www.compartidisimo.com/2012/01/problemas-con-los-estilos-de-los.html

      Si no quiere funcionar el enlace de "Responder" entonces prueba esto. Para encontrar el código, usa las teclas "ctrl" y "F", presionándoles simultáneamente.

      Me cuentas...

      Suprimir
  2. Mil gracias Karla, funcionó perfecto! :)

    ResponderSuprimir
    Respuestas
    1. Me alegro mucho alore67 y de nada chica, de nada...

      Suprimir
  3. Cambié el script completo y funciona correctamente.
    Gracias.

    ResponderSuprimir
    Respuestas
    1. Que bueno que esté funcionando, y de nada Gabriela ;)

      Suprimir
  4. Karla en una plantilla denim no funcionaba el boton responder aunque el código si aparecia como:
    <script async='async' expr:src='data:post.commentSrc' type='text/javascript'/>
    lo cambié por el tuyo y funciona. Si alguno no lo encuentra con defer que lo busque como async el que acabo de escribir en este comentario y lo cambie completo por el tuyo. Gracias

    ResponderSuprimir
    Respuestas
    1. Qué bueno que lo mencionas Roudy, ¿de casualidad no cambiaste ese atributo en ese script usando el tuto de Oloblogger hace tiempo?

      De cualquier modo deberían cambiarse ambos, el script sin contenido, en donde sólo cambiaron ese atributo. y en el que está debajo, tal y como se ve en el código. Es así como aparece en las plantillas sin editar, y es ahí donde Blogger garantiza los cambios o actualizaciones que hace.

      Me cuentas si lo habías hecho ;). De todos modos voy a agregar una nota. Muchas gracias ;)

      Suprimir
    2. En la plantilla Denim que te comenté no había realizado ninguna modificación (virgen), la tenia guardada en el computador y la subí tal cual por medio de "Crear copia de seguridad/Restablecer" para reemplazar una plantilla modificada. Te dejo en el enlace el código del que trata este post y se encuentra en esa plantilla: Codigo no funciona responder.

      Suprimir
    3. Sabes Rudy, que estoy revisando varias plantillas editadas, y ya aparece la actualización de Blogger en todas, por lo menos en todas las que he visto y han sido muchas, seguramente volvieron a mandar el código completo o algo hicierón, pero ya aparece actualizado :)

      Revisé también la plantilla Denim, y aparece actualizado, diferente al que me muestras en el archivo.

      Buen día ;)

      Suprimir
    4. Gracias por el dato, a mi también me paso lo mismo

      Suprimir
    5. De nada, espero que lo hayas resuelto Catherine ;)

      Suprimir
  5. Perdona, Carla, pero antes de hacer una entrada similar me fijé en los feeds y supongo que todavía no estaba actualizado, así que publiqué la solución sin saber que estaba en tu blog.

    De hecho el comentario de ayer lo hice justo después de publicarla, aunque no se me ocurrió fijarme en la tercera entrada hasta hoy...

    Disculpa las molestias, en cuanto tenga tiempo (ahora estoy en el colegio) te menciono y pongo el link a esta entrada.

    ResponderSuprimir
    Respuestas
    1. No te preocupes Emilio, en serio :)

      Tu te esforzaste por arreglar eso y no tiene nada de malo que yo haya escrito algo antes, nunca te limites por eso.

      ...lo de el enlace no es necesario chico ;)

      Suprimir
    2. Ya no hay vuelta atrás :) Está hecho...

      Suprimir
    3. Ya te expliqué pero tu decides Emilio. Gracias chico :)

      Suprimir
  6. Respuestas
    1. Lo siento Lluís, no me das datos, y difícilmente puedo decirte algo.

      ¿Cambiaste el código?, ¿no lo encuentras?, si me explicas sera más fácil...

      Suprimir
  7. ¡Funciona! Reemplazé el código directamente tal cual nos indicas.

    Muchas gracias.

    ResponderSuprimir
  8. Karla te informo que a mi me sigue funcionando todo normal,no hubo cambios inclusive en IE.

    ResponderSuprimir
    Respuestas
    1. ¿Me quieres decir que tu nunca has sido afectado Juviano?, es decir ¿se hizo la actualización de Blogger oportunamente en tu blog?, si es así me alegra, si no lo es, me aclaras :)

      Suprimir
    2. Karla pues yo no he modificado el codigo HTML del blog,pero me puse a revisar con calma la plantilla y ya tiene la modificacion async='async' en el script por lo que creo que blogger la actualizo automaticamente.

      Suprimir
    3. Si lo hizo, ayer revisaba algunas plantillas personalizadas que tengo aquí, y la actualización ya aparecía, cosa que no sucedió antier.

      Precisamente lo comentaba con varios, tal vez nos enviaron de nuevo el código, o lo estuvieron haciendo por partes o que sé yo.

      El caso es que todavía algunos vienen y me dicen que lo hicieron manualmente desde ayer.

      Buen fin de semana.

      Suprimir
  9. Muchísimas gracias!!! Estaba ya empezando a pensar que después de dar un gran paso, blogger nos estaba troleando, pero gracias a tu ayuda vuelve a funcionar perfectamente!

    De nuevo muchísmas gracias! ^^

    ResponderSuprimir
    Respuestas
    1. De nada, me da mucho gusto que todo haya salido como esperabas tenmachan ;)

      Saludos :)

      Suprimir
  10. Vaya, para unos días que dejo de leerte y precisamente pudiste comprobar algo que yo estaba precisamente viendo estos días. Bueno, así me ahorré trabajo. Paso este enlace ;)

    ResponderSuprimir
    Respuestas
    1. Gracias Oloman, todo surgió porque tenía este problema en mi blog, y sucedió de forma repentina, después de estar contestando comentarios.

      Sabes que ayer veía en algunas plantillas personalizadas que la actualización se hizo, cosa que no había sucedido un día antes, no sé si a todos los ocurra igual, pero en el peor de los casos se hace el cambio manualmente :)

      Suprimir
  11. Muchisimas gracias, ya no sabia que mas hacerle para que funcionase!!!
    Sos una idola!!!!
    jejejeje....
    Besos!

    ResponderSuprimir
    Respuestas
    1. De nada, qué bueno que te funciono, y todo salió bien sin contratiempos :)

      Suprimir
  12. Hola muchas gracias me sirvio de ayuda XD, vengo de parte del potro ya que tenia este problema y me dio esté enlace muy buena la ayuda, peor tengo un pequeño problema que me gustaria resolver, resulta que ahora ya funciona la opciçon de responder pero la caja del cuadro donde se pone el comentario esta muy grande, como puedo ponerle un tamaño adecuado? te dejo un enlace para que lo veas gracias por todo.
    http://www.juegosc24.com/2012/02/fifa-street-todos-los-detalles-de-la.html#comment-form

    ResponderSuprimir
    Respuestas
    1. Me alegra que te haya funcionado christian, lo interesante es que a ti te funciona en todas las versiones de IE, cosa que a mi no me funcionó, sólo funcionaba en IE9, y tube que aventarme otro truquillo. Aunque lo normal es que funcioné bien en todos los navegadores.

      Te refieres al campo de entrada dónde se escriben lo comentarios , del formulario de comentarios?

      Prueba cambiando el porcentaje del ancho, y que viene como 100%, y que encuentras aquí:

      <iframe allowtransparency='true' class='blogger-iframe-colorize blogger-comment-from-post' frameborder='0' height='410' id='comment-editor' name='comment-editor' src='' style='display: none' width='100%'/>

      Lo vas a ver al expandir artilugios, y varias veces, cambiálo por 90%, en todos.

      Verificas en vista previa que todo luzca bien, y guardas los cambios. Suerte.

      Suprimir
  13. Gracias amigo,

    Me sirvió de mucho.

    ResponderSuprimir
    Respuestas
    1. De nada Javierlota, qué bueno que fué útil :)

      Suprimir
  14. Respuestas
    1. You're welcome ngetik, i'm glad it works for you ;)

      Suprimir
  15. Muchisimas gracias funciona de 10! :D Eres la mejor
    saludos

    ResponderSuprimir
    Respuestas
    1. Me da mucho gusto que haya funcionado Dante, gracias por pasarte :)

      Suprimir
  16. Oye perfecto! Muchas, muchas gracias!!!! Más fácil y mejor es imposible explicarlo.

    ResponderSuprimir
    Respuestas
    1. De nada Jose, qué bueno que lo arreglaste, y me da mucho gusto que haya sido útil ;)

      Saludos :)

      Suprimir
  17. Hola como estas me podrías ayudar después de activar los comentarios anidado se me desapareció los números de los comentarios, y se me des-resalto los comentarios de autor

    Gracias y espero tu ayuda, Saludes desde Nicaragua

    ResponderSuprimir
    Respuestas
    1. Desafortunadamente se pierde esa característica Diak Chimba, pero no te preocupes, hay solución, y si quieres numerarlos lo puedes hacer fácilmente, echa un vistazo a este post de Vagabundia:

      http://vagabundia.blogspot.com/2012/01/numerar-los-nuevos-comentarios-de.html

      Suerte ;)

      Suprimir
  18. Desde ayer, con todo el lío de la actualización de las Urls por países, se me volvió loco el blog. EL enlace responder dejó de funcionar aunque no era lo único. Te agradezco mucho tu ayuda. Funciona a la perfección

    Un saludo agradecido

    ResponderSuprimir
  19. Gracias por la aclaración de este sript, tarde un par de horas en saber que pasaba con esto ja, pero ya quedo. Te lo agradezco enormemente =)

    ResponderSuprimir
  20. Gracias!!!! Tecno-edukacion (http://tecno-edukacion.blogspot.com) te da las gracias por el aporte. Había buscado en muchos lugares la respuesta y contigo la encontré.

    Felicidades por el sitio y por la aportación.

    ResponderSuprimir
    Respuestas
    1. Me alegra mucho Alma Delia, gracias por la felicitación, no es nada :)

      Suprimir
  21. Hey Karla tenia este problema desde fines de febrero, gracias a ti he resuelto el problema. Gracias.

    ResponderSuprimir
    Respuestas
    1. Hey Lennon-McCartney me da mucho gusto que haya sido útil ;D

      Suprimir
  22. Hola Karla!! te cuento que los mensajes anidados funcionan si los uso desde firefox, desde internet explorer la funcion responder no funciona, en los otros buscadores no he probado, sabes porque será que no funciona en el explorer? Gracias!! saludos!

    ResponderSuprimir
    Respuestas
    1. Hola, necesito más datos para darte una respuesta. ¿Ya cambiaste el script?, si te es posible y quieres, por favor deja la dirección de tu blog, así puedo decirte algo con más precisión.

      Suprimir
    2. Gracias por contestar Karla,

      he hecho tantos cambios en mi blog estos días que ya no se que he cambiado y que no, pero si te puedo decir que algunas de las caracteristicas nuevas que le he puesto a los comentarios no se ven en IE, entre ellas la de responder, aca te dejo la dirección de mi blog http://monicateresponde.blogspot.com

      Gracias!

      Suprimir
    3. En ese caso, primero asegúrate de haber hecho el cambio del script, si no has agregado nada dentro del post-footer, (debajo de los posts) o editado el contenido de un gadget, puedes "Restablecer plantillas de artilugios a los valores predeterminados", de ese modo se habilitaran los comentarios debidamente. Esto lo puedes hacer si no has hecho cambios, de otro modo los perderás.

      Si después de eso no funciona el enlace de responder en IE8 e IE7, probablemente es un problema de origen de la plantilla que usas, he visto problemas con los comentarios anidados en plantillas antiguas o las editadas o personalizadas a partir de esas plantillas (yo lo tuve), y una solución rápida es cambiar la versión que Blogger usa en la etiqueta HTML, es decir, esto:

      <html dir='ltr' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>

      Por esto:

      <html b:version='2' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>

      Esto resolvería el problema del botón de responder que no funciona en Internet Explorer 8 y 7. En Internet Explorer 9 no existe ese problema. Sin embrago pudiera alterar algunas cosas en el diseño de tu blog, que habrá que arreglar, así como agregaría algunos errores (de validación), ya que el CSS que Blogger envía en esa versión es distinto, y es específico para las las plantillas HTML5 de Blogger.

      Suerte!

      Suprimir
    4. Gracias! voy a intentarlo

      Suprimir
  23. Hola Karla,
    Llego a tí a través del maravilloso Potro, y lo primero es darte la enhorabuena.
    Los que tratamos de aprender y mejorar, agradecemos muchísimo un blog tan entendible y tan maravillosamente útil.
    A mi, jamás me han funcionado los comentarios anidados, acabo de revisar los códigos y los tengo y actualizados, pero nada de nada.
    No se, si sea, porque desde enero en mi blog en cualquier sitio que te pongas, en la barra de direcciones sale un código alfanumérico, que no tiene explicación alguna, que escribí en los foros de blogger y que el Potro también anda pendiente, que no se puede corregir de modo alguno, y tal vez, tal vez derive de ahí.
    Viendo este apartado tuyo, me tomo la libertad de pedirte ayuda y consejo
    Gracias y muchos besitos

    ResponderSuprimir
    Respuestas
    1. Hola Patricia, agradezco tu comentario.

      ¿Estás segura que ya aparece el script actualizado y además están habilitados los comentarios anidados?

      Echa un vistazo a este post, específicamente donde dice:

      ¿Cómo habilitar este sistema de comentarios anidados en las plantiilas personalizadas?

      http://www.compartidisimo.com/2012/01/3-grandes-beneficios-que-ofrecen-los.html

      Una opción rápida y que permite habilitarlos sin tener que tocar para nada el código en la edición de HTML de la plantilla, es "Restablecer plantillas de artilugios a los valores predeterminados", esa opción la encuentras entrando a la edición de HTML, abajo a la izquierda, la limitación es que si modificaste algún artilugio, vas a perder los cambios. No me refiero a los gadgets sino a las modificaciones que hayas hecho.

      Otra opción, es plantearse actualizar la plantilla. Pudieras empezar con una de las nuevas que usa Blogger, y no tendrás ningún problema de compatibilidad con los comentarios anidados en versiones viejas de IE, cosa que probablemente suceda en la plantilla que usas, habiendo habilitado los comentarios anidados. Aunque también hay una forma de arreglar eso... Bueno, checa eso y piensa lo de la plantilla ;)

      Suerte!

      Suprimir
    2. Hola Karla,
      Muchas gracias por tu respuesta y por la ayuda.
      Si, comprobé que están los códigos, pero no, no funciona.
      Un pelín diferentes con respecto al enlace que me diste a leer pero no con el de esta entrada, de modo que no me he atrevido a tocar....
      La verdad la plantilla está personalizada y no me gustaría perder los cambios. ¿se te ocurre cómo podría conseguirlo?
      No quisiera cambiar, me gusta esta, me gusta.
      Y por otro lado, ¿Tiene algo que ver estos códigos alfanumerícos que te decía?. y ya abusando, ¿tienes alguna idea de cómo volver al origen, a que no salgan?
      Gracias de nuevo y un abrazo

      Suprimir
    3. Karla, hola de nuevo, y de nuevo, gracias.
      ¿Se te ocurre cómo puedo ir enseñándote los códigos?
      Así tal vez tu puedas ver dónde está el desastroso problema.
      Yo no uso IE uso Firefox siempre....
      Y en cuanto a los códigos alfaniméricos, te pongo un link de ejemplo, ¿Quieres?
      http://www.lasiestadecristobal.com/#axzz1wHqzuL00
      Gracias, muchas por tu tiempo y por tu ayuda
      Un besito

      Suprimir
    4. Hola Patricia,

      [Actualicé el comentario]

      Bueno, pues las cosas se complican un poco, si no actualizas el código completo tanto del script, como el resto del código, ya sea de forma manual, o restableciendo la plantilla a los valores predeterminados. Así podemos comprobar de forma certera que estén actualizados, e ir avanzando y descartando cosas...

      Para que los comentarios anidados funcionen, es necesario asegurarse de que:

      1. El script esté actualizado, como se explica aquí.

      2. Que estén habilitados (en las plantillas personalizadas como la tuya) y que menciono acá:

      http://www.compartidisimo.com/2012/01/3-grandes-beneficios-que-ofrecen-los.html


      De cualquier forma Patricia es muy probable, que aunque habilites los comentarios anidados, no funcionen en Internet Explorer 8 e Internet Explorer 7 (sólo en IE9), Esto como te decía en las plantillas antiguas como la que usas. Aunque sé como solucionar eso...

      Con respecto al problema que me mencionas de la dirección de tu blog, (ya la vi) prueba haciendo lo siguiente:

      1. Guarda una copia de seguridad de tu plantilla. Así podrás volver a instalarla.

      2. Instala una plantilla nueva de Blogger desde el Diseñador de plantillas.

      3. Comprueba si hay cambios es la dirección de tu blog.

      Ya me contarás..

      Suprimir
    5. He instalado una nueva plantilla, y no hay cambios Karla, lamentablemente.... Es muy preocupante porque hace que se cargue -y mira que tengo nada y menos- a dos por hora y en la tableta, puedes dormir una siesta....
      En cuanto a los comentarios anidados, me voy a tomar algo más de tiempo, por favor, para ir comparando palabra a palabra, no vaya a ser que algo se me haya escapado y te esté dando la lata inecesariamente
      Gracias, bonita, muchas gracias y te mantengo informada.

      Suprimir
    6. Hola Patricia,
      ¿A qué te refieres con que no ha habido cambios? ¿A que sigue apareciendo la dirección de tu blog del mismo modo?

      Suprimir
    7. Hola Karla, de nuevo,
      Efectivamente, cambias de plantilla pero la dirección no se vé afectada, sigue apareciendo igual, el famoso y horrible código alfanimérico....

      Suprimir
    8. mmm, y ¿comprobaste que funcionaran los comentarios anidados con el cambio de plantilla?

      Suprimir
  24. No, Karla, no se me ocurrió, es que cómo te decía me gusta esta plantilla, le tengo cariño. Y aunque tengo muchísimo que arreglar....
    Sólo comprobé lo de los caracteres pero no lo de los comentarios, eso tengo que ir poquitín a poquitín mirando tus dos entradas, y ver si hay algo distinto, porque ayer, me parecía que en este nada y en el otro alguna palabrita que yo tengo de más.
    Esto es un caos angustioso y agobiante, de verdad. Intentar que algo quede bien y no acabar, que fastidio, ¿Verdad?
    Muchas gracias, bonita, y muchos besitos
    A ver que se te ocurre....

    ResponderSuprimir
    Respuestas
    1. Te lo pregunto porque me habías comentado que si eso pudiera provocar que los comentarios anidados no funcionen, sinceramente lo dudo, habría que ver, pero eso se puede comprobar fácilmente al cambiar la plantilla, si funcionan es porque el problema está en la plantilla, y entonces habrá que habilitar los comentarios anidados en tu plantilla.

      Suprimir