Solução para o erro (Bug) nos comentários do Blogger

FBlogHost - Hospede seu Blog

Como todos os leitores do [ Ferramentas Blog ] já sabem, eu não sou um usuário do Blogger, porém na sexta-feira (20/01/12), meu amigo Paulo Estevão do Códigos Blog me enviou um e-mail mostrando um bug no novo sistema de comentários do Blogger, conhecido por Threaded Commenting. Muitos viram o erro, mas ninguém apresentou uma solução. Nós descobrimos como corrigir o problema e você pode arrumar seus comentários agora.

Se você ainda não sabia que o Blogger tem um novo sistema de comentários, pode ler: Blogger agora suporta níveis de comentários – Threaded Commenting.

Só que apareceu um problema: quando um visitante que esta utilizando o navegador Firefox acessa algum post a página é movida até o meio dos comentários. Isso atrapalha o visitante que quer comentar. Este bug é bem estranho e provavelmente seja algum script do novo sistema de comentários.

O Paulo Estevão (Códigos Blog) e eu tentamos encontrar alguma solução definitiva para este problema, entretanto acredito que a única solução definitiva para isso será esperar a equipe de desenvolvedores do Blogger atualizar o script quebrado que esta causando todo esse problema.

Mas como aqui ninguém gosta de esperar a boa vontade dos outros, resolvi escrever um pequeno código em Javascript que pode resolver temporariamente este problema.

Mostrei o código que fiz para o Fernando Jorge Mota e ele me ajudou a dar uma melhorada no script.

Antes de apenas colocar o código aqui e falar para vocês colarem em seus blogs, vocês serão “obrigados” a entender o que o código faz e o que fizemos aqui para chegar nesta solução 😛

Explicação da minha solução para o bug do Threaded Commenting:

O problema do bug é que a tela é movida para baixo e fica no meio dos comentários do Blogger, isso acontece durante o carregamento do Blogger apenas no Firefox. Hoje mais de 35% das pessoas usam o Firefox como navegador e você estaria perdendo comentários e interação com essa parcela de público.

Para resolver este problema resolvi criar uma função em Javascript que é lida apenas quando o blog é totalmente carregado e joga a tela para o topo.

Desta forma usei “window.onload” para ler a função apenas quando a página é carregada.
Em seguida usei o que realmente resolve o problema que é a função “scrollTo” (em uma tradução ao pé da letra seria: rola para ou move para).
Por final zerei todo o valor do “scrollTo” para fazer com que a página seja levada para o topo quando ela acabar de ser carregada.

Isso resolvia o problema, porém criava outros, pois eram ignoradas as âncoras (exemplo de âncora é o link que leva da homepage até o formulário de comentários do blogger) e também o código era lido em todos os navegadores sem necessidade, pois o bug acontece apenas no Firefox.

Desta forma pedi ajuda ao Fernando, que praticamente reescreveu o que eu fiz e chegou em uma solução final para todos os problemas.

Com a ajuda dele foi possível chegar em um código que verifica o navegador do usuário, caso seja Firefox ele executa nossa função que verifica novamente se o link é uma âncora ou não e leva a tela para o local correto.

Finalmente uma solução completa para todos os usuários do Blogger que utilizam o Threaded Commenting.

Devo avisar novamente que esta é uma solução temporaria para o bug do Threaded Commenting.

Solução temporária para o bug do Threaded Commenting:

Para inserir o código a seguir, vocês devem logar em seu Blogger e ir até o menu “Modelo” e clicar no botão “Editar HTML”.

Depois é necessário colar o código exatamente ANTES da linha </head>:

Depois basta salvar e conferir como ficou.

Obrigado ao Paulo Estevão por avisar sobre o problema e principalmente ao Fernando Jorge Mota por praticamente reescrever o que eu fiz e me ajudar a chegar em uma solução completa para o bug.

UPDATE 23/01/12:

O bug aparece também nos navegadores Opera e Internet Explorer, por este motivo alterei o script para funcionar em todos os navegadores.

FBlogHost - Hospede seu Blog

28 Comentários

  1. Só ativarei as respostas nos comentários do blogger quando alguém encontrar uma solução para manter o estilo em templates customizados, entre eles, o destaque dos comentários do autor.

    Responder

    • Francamente, creio que esta solução não virá e temos uma batata-quente nas mãos. Tentei utilizar este código e não mudou em nada, pois como já comentei no meu blog todos os navegadores têm apresentado o mesmo problema…

      Responder

      • Bom, eu já vi algumas soluções em outros metablogs, mas nenhuma funcionou no meu.

        Então, estou aguardando alguém encontrar uma solução definitiva.

        Pois não acho uma boa ativar as respostas se perderei todo o visual que configurei.

        Seria o mesmo que trocar seis por meia dúzia.

        Responder

  2. Cláudio, não é só no navegador fire, não! No Chrome e também no IE o problema é o mesmo, ao menos para mim.
    O pior é que meu sistema de comentários é totalmente customizado, essa novidade do Blogger, além de não ter aparecido para mim, ainda causou este problema.

    Responder

    • Acabei de testar em outros navegadores e vi que no Opera e no IE e acabei de retirar a linha que fazia isso funcionar apenas no Firefox.
      Obrigado por avisar, desta forma acabei de corrigir o código do post para poder funcionar em vários navegadores.

      Porém pude observar centenas de más praticas de programação no seu blog, várias coisas que estão deixando seu blog totalmente lento e travando.
      Quase não consegui abrir seu blog aqui usando o IE.
      A muito tempo não encontrava um caso assim.

      Responder

      • Cláudio, não sei então o que acontece, pois todas as intervenções que fiz no meu blog, widgets etc, foram dicas que retirei de metablogs (respeitáveis como este aqui). Eu, particularmente, nunca inventei algo – até porque não me sinto suficientemente bom para isso. Continuo sem entender.

        Responder

        • Porém nem sempre os códigos que você encontra nesses blogs são testados antes ou desenvolvidos por alguém que realmente sabe algo de programação.

          Aqui no Ferramentas Blog testamos tudo várias vezes antes de colocar em um post.

          Outra coisa e que é um grande problema do Blogger:
          Utilizar muito javascript pode deixar o blog super pesado e travando, exatamente como aconteceu com o seu.

          Melhor maneira de resolver o seu problema no Internet Explorer é ir retirando alguns scripts e ir testando, até o blog abrir normalmente.
          Esta é a unica maneira encontrar o erro.

          Responder

          • Agora fiquei assustado,Cláudio. Pois, como te disse, os metablogs são todos respeitáveis e foram, inclusive, citados aqui pelo Marcos como confiáveis em um post/artigo específico.
            De qualquer forma, obrigado! Abraços na alma…

            Responder

            • Edson,
              Acho que você entendeu mal o que o Claudio disse. Todos são bons, mas nem todos são profissionais de desenvolvimento, como é o caso do Claudio e do Fernando aqui. Eu mesmo (Marcos Lemos) não sou bom em códigos e, mesmo com boa intenção, já ensinei códigos de forma equivocada.
              Especialmente em códigos criados para o Blogger, funcionam bem em blogs de teste, limpos e sem outros. Mas quando aplicamos em blogs em funcionamento, com muitos códigos e adaptações feitas, os conflitos aparecem. Como os códigos foram feitos sem testes que profissionais como o Claudio e o Fernando fazem, a maioria tem problemas.

              Os dois estão a todo instante corrigindo códigos que eu ensinei, justamente porque eu não sabia como fazer os testes certos. Nem por isso eu deixo de ser um metablog confiável.

              Responder

  3. De fato acontece em todos os navegadores mas de todos os bugs o pior é no IE onde a página interna não aparece fica uma tela em branco.

    Não funcionou nos meus blogs, uma pena…tenho muitos scripts, deve ter havido incompatibilidade entre eles 🙁

    [ ]s

    Responder

    • Acredito que no seu caso o problema não é o formulário de comentários não.

      Tentei abrir o seu blog no Internet Explorer e ele apresentou vários erros. Existem algumas más praticas de programação em seu blog e isso que esta causando o seu problema.

      Na hora de escolher um tema ou criar um é necessário que ele esteja abrindo corretamente em todos os navegadores e em todos os sistemas operacionais (Win, Mac, Linux), você deve testar isso e não pode deixar esta etapa pra trás, pois pode ter problemas como esta tendo agora.

      Com certeza você esta perdendo muitos visitantes no seu blog por não ter feito isso.

      Responder

  4. No meu blog, quando entro em uma postagem que tenha um comentário pelo sistema do blogger a aba que tem o sistema de comentários do facebook some.
    É so no meu ou esta acontecendo em mais algum blog? tem solução?

    Responder

    • Seu problema é o hack para usar os comentários do Facebook com o do Blogger.
      Com certeza ele terá que ser atualizado para funcionar corretamente.
      Procure onde você pegou este código, o autor deste hack deve logo publicar algo para solucionar isso.

      Sinceramente, era melhor desistir das abas assim e colocar um comentário de baixo do outro por enquanto.

      Responder

        • Acabei de ver aqui o post sobre isso.
          Se você ler ele, irá ver que não somos os autores do código e que o Marcos deixou o link da fonte.
          Porém esta fonte saiu do ar, acredito então que o autor dificilmente irá criar uma solução.

          Recomendo deixar de usar este sistema de abas então.

          Responder

  5. Pingback: Alguns bugs no Threaded Comments, novo sistema de comentários do Blogger | Códigos Blog

Deixe um comentário

Ao comentar você concorda com nossa Política de Comentários.