2
respostas

Página não carrega na sequência

Olá pessoal, estou com um problema, os arquivos da página não estão carregando em sequência, talvez seja por causa dos media querys não sei.

O site é http://wrseg.com.br/novo

Está carregando imagens lá do meio da página e por último os elementos da front-page, não sei mais o que fazer.

Este é o resultado do teste: https://www.webpagetest.org/video/compare.php?tests=180802_0H_858ff72ba9691c28ae7e20f582ecb8bf-r%3A2-c%3A0&thumbSize=200&ival=500&end=visual

Veja a análise do waterfall: http://wrseg.com.br/novo/waterfall.png

Veja que o 2º elemento está carregando primeiro que o elemento principal: http://wrseg.com.br/novo/element.png

O que estou fazendo de errado?

2 respostas

Olá Guilherme, tudo bem?

Acredito que houveram alterações em seu código, mas acessando o link vi que seu problema persiste. A web funciona da seguinte maneira. Assim que a página é acessada o DOM é carregado primeiro, ou seja, todas suas tags HTML, logo após os estilos (css), e por fim seus arquivos js. Utilizando a tag 'style' você consegue dar prioridade ao estilo crítico do seu site, no caso tudo que é visível em 100% da altura e largura da tela, assim como a tag 'script' caso haja alguma função necessária. Recomendo que acesse esse link para que entenda melhor: http://blog.caelum.com.br/otimizacoes-na-web-e-o-carregamento-assincrono/

Espero ter ajudado :)

Estou tentando aqui, porém ainda tem muita coisa sendo carregada antes do elemento principal, eu queria atrasar o carregamento do script e do css, colocar async no JS não funciona, não sei porque, então vou tentar pelo menos atrasar o carregamento das imagens, pra você ter uma ideia a imagem principal é a request #60, preciso adiantar isso.

Me ajudem no seguinte, estou tentando utilizar o script abaixo mas não estou conseguindo devido a minhas limitações em JS.

$(function() {
  setTimeout(function(){
    $('li[data-img-src]').each(function(){
      var src = $(this).attr('data-img-src');
      $('<img>').attr('src', src).appendTo('ul');
    });
  }, 600);
});

Eu preciso atrasar o carregamento do elemento abaixo, porém não sei como alterar o script acima para funcionar para div ao invés de li.

<div class="slide"><img data-src="images/partner1.svg" width="250" height="35" alt=""></div>