Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

JS que atrasa o carregamento de um arquivo JS em milliseconds

Bom dia,

Estou precisando de um script que atrase o carregamento de um arquivo .js em milliseconds, tentei utilizar o setTimeout conforme descrito abaixo mas não deu certo, alguém sabe como fazer isso?

Obs: Se eu colocar async ele não funciona, não sei porque, ele carrega o arquivo mas não aparece o elemento na tela.

<script>
    setTimeout(function() {

        <script type="text/javascript" src="arquivo.js"></script>

    }, 1000);
</script>
4 respostas
solução!

Fala ai Guilherme, beleza? O que você pode fazer é inserir um novo element no body, um pouco diferente do que você fez:

setTimeout(() => {
    const src = document.createElement("script")
    src.src = "http://www.matheuscastiglioni.com.br/assets/js/test.js"
    document.body.appendChild(src)
}, 3000);

Espero ter ajudado.

Fala Matheus blz?

Obrigado pela ajuda, eu tentei mas não acontece nada, ele carrega o arquivo mas o script não roda.

O script adiciona no body a class="vsc-initialized" e no elemento ul a class="slick-initialized slick-slider slick-dotted", quando o script é inserido com setTimeout ele não insere essas classes o que impede o carregamento correto do elemento.

Eu isolei o elemento numa página de teste e dividi em duas páginas, uma com o script acima, sem funcionar e outra funcionando com o script normal, veja se você identifica alguma coisa errada que eu não estou vendo, por favor.

Nesse caso eu não sei como fazer, pois esse script é pronto feito pelo http://kenwheeler.github.io/slick/

NÃO FUNCIONA: http://wrseg.com.br/novo/teste1.html

FUNCIONANDO NORMAL: http://wrseg.com.br/novo/teste2.html

Fala aí Guilherme, beleza? Desculpe a demora, acabei não vendo sua resposta, ví que você marcou o tópico como solucionado, deu certo?

Abraços

Deu certo sim, o script do slick carousel não consegue rodar com setTimeout mas o resto deu certo, obrigado