Latest Stories

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.


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 ninguem gosta de esperar pela boa vontade dos outros, procuramos uma solução e encontramos .


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é daletra 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.


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.


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 :

01<b:if cond='data:blog.pageType == "item"'>
02<script type='text/javascript'>
03//
04document.body.onload = window.onload = function() {
05var links = document.getElementsByTagName('a');
06var h = window.location.hash.substring(1);
07var cont = true;
08for(var c=0;c
09if(links[c].name == h){
10var x = links[c].offsetLeft,y = links[c].offsetTop,el=links[c].offsetParent;
11while(el){
12x += el.offsetLeft;
13y += el.offsetTop;
14el = el.offsetParent;
15}
16window.scrollTo(x, y);
17cont = false;
18break;
19}
20}
21if(cont || !h){
22window.scrollTo(0,0);
23}
24};
25//]]>
26script>
27b:if>

Depois basta, salvar e conferir como ficou.

Categories:

Leave a Reply