Posso pré-editar o html de uma página web antes que o javascript seja executado?

2

Estou vendo este site que tem um erro de javascript do lado do cliente causado pelos scripts sendo carregados na ordem errada. O problema é que eu não possuo essa fonte, mas eu realmente preciso usar o site o mais rápido possível.

Existe um plug-in de navegador / navegador que me permita corrigir isso no navegador e continuar a usar a página? O problema é que, como isso é carregado no elemento head , se eu modificar o html, o erro JS já ocorreu. E se eu atualizar as alterações (pelo menos no chrome) minhas modificações locais desapareceram.

Especificamente, o html é assim:

<script 
    language="javascript" 
    src="/scripts/util.js" 
    type="text/javascript"></script>
<script 
    language="javascript" 
    src="/scripts/scriptaculous/prototype.js" 
    type="text/javascript"></script>
<script 
    language="javascript" 
    src="/scripts/scriptaculous/scriptaculous.js" 
    type="text/javascript"></script>

E para corrigir o bug, seria necessário:

<script 
    language="javascript" 
    src="/scripts/scriptaculous/prototype.js" 
    type="text/javascript"></script>
<script 
    language="javascript" 
    src="/scripts/scriptaculous/scriptaculous.js" 
    type="text/javascript"></script>
<script 
    language="javascript" 
    src="/scripts/util.js" 
    type="text/javascript"></script>

Observe como o util.js foi movido para o fundo.

    
por Daniel Kaplan 01.12.2013 / 08:00

1 resposta

1

Você pode fazer isso userscript que carrega o javascript necessário na ordem em que você preciso disso. Um userscript pode executar essencialmente qualquer javascript arbitrário na página, incluindo o carregamento de outro javascript. A única preocupação seria se o navegador executasse o userscript antes ou depois de carregar os outros scripts na página. Esta pergunta sobre estouro de pilha parece implicar (segunda resposta) que há uma maneira de fazer isso.

Um simple userscript pode usar o método mencionado acima e o comando document.write para inserir um novo elemento <script> conforme necessário antes que a página analise qualquer outro javascript.

    
por 01.12.2013 / 08:06