Skip to content

Commit 411dded

Browse files
committed
fix(script-async-defer): translate article
1 parent 5e694d8 commit 411dded

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

2-ui/5-loading/02-script-async-defer/article.md

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Felizmente, existem dois atributos `<script>` que resolvem o problema para nós:
3737

3838
## defer
3939

40-
O atributo `defer` diz ao navegador para não esperar pelo script. Em vez disso, o navegador continuará processando o HTML e criando a DOM. O script carrega "em segundo plano" e, em seguida, é executado quando o DOM está totalmente criado.
40+
O atributo `defer` diz ao navegador para não esperar pelo script. Em vez disso, o navegador continuará processando o HTML e criando a DOM. O script carrega "em segundo plano" e, em seguida, é executado quando a DOM está totalmente criada.
4141

4242
Aqui está o mesmo exemplo acima, mas utilizando o `defer`:
4343

@@ -53,7 +53,7 @@ Aqui está o mesmo exemplo acima, mas utilizando o `defer`:
5353
Em outras palavras:
5454

5555
- Scripts com `defer` nunca bloqueiam a página.
56-
- Scripts com `defer` sempre são executados quando o DOM está pronto (mas antes do evento `DOMContentLoaded`).
56+
- Scripts com `defer` sempre são executados quando a DOM está pronta (mas antes do evento `DOMContentLoaded`).
5757

5858
O exemplo a seguir demonstra a segunda parte:
5959

@@ -73,7 +73,6 @@ O exemplo a seguir demonstra a segunda parte:
7373
2. O manipulador de eventos `DOMContentLoaded` espera pelo script com a tag defer. O evento é disparado só quando o script é baixado e executado.
7474

7575
**Os scripts com a tag defer mantêm sua ordem relativa, assim como os scripts normais.**
76-
7776
Digamos que temos dois scripts com a tag defer: o `long.js` e o `small.js`:
7877

7978

@@ -82,11 +81,11 @@ Digamos que temos dois scripts com a tag defer: o `long.js` e o `small.js`:
8281
<script defer src="https://javascript.info/article/script-async-defer/small.js"></script>
8382
```
8483

85-
Browsers scan the page for scripts and download them in parallel, to improve performance. So in the example above both scripts download in parallel. The `small.js` probably finishes first.
84+
Os navegadores examinam a página em busca de scripts e os baixam em paralelo para melhorar o desempenho. Portanto, no exemplo acima, os dois scripts são baixados em paralelo. O `small.js` provavelmente termina primeiro.
8685

87-
...But the `defer` attribute, besides telling the browser "not to block", ensures that the relative order is kept. So even though `small.js` loads first, it still waits and runs after `long.js` executes.
86+
... Mas o atributo `defer`, além de dizer ao navegador "não bloquear", garante que a ordem relativa seja mantida. Portanto, embora `small.js` carregue primeiro, ele ainda espera e executa após a execução de `long.js`.
8887

89-
That may be important for cases when we need to load a JavaScript library and then a script that depends on it.
88+
Isso pode ser importante para os casos em que precisamos carregar uma biblioteca JavaScript e, em seguida, um script que depende dela.
9089

9190
```smart header="O atributo `defer` é apenas para scripts externos"
9291
O atributo `defer` é ignorado se a tag `<script>` não possui o atributo `src`.
@@ -104,11 +103,11 @@ O atributo `async` significa que um script é completamente independente:
104103
- `DOMContentLoaded` pode acontecer antes de um script `async` (se um script `async` terminar de carregar depois que a página for concluída)
105104
- ... ou após um script `async` (se um script `async` for curto ou estiver em cache HTTP)
106105
107-
Em outras palavras, os scripts `async` são carregados em segundo plano e executados quando prontos. A DOM e outros scripts não esperam por eles e não esperam por nada. Um script totalmente independente que é executado quando carregado. Tão simples quanto parece, certo?
106+
Em outras palavras, os scripts `async` são carregados em segundo plano e executados quando prontos. A DOM e outros scripts não esperam por eles e não esperam por nada. Um script totalmente independente que é executado quando carregado. Tão simples quanto parece, não é mesmo?
108107
109-
Aqui está um exemplo semelhante ao que vimos com o `defer`: dois scripts `long.js` e `small.js`, mas agora com `async` em vez de `defer`.
108+
Aqui está um exemplo parecido ao que vimos com o `defer`: dois scripts `long.js` e `small.js`, mas agora com `async` em vez de `defer`.
110109
111-
Eles não esperam um pelo outro. O que quer que carregue primeiro (provavelmente `small.js`) - é executado primeiro:
110+
Eles não esperam um pelo outro. Qualquer um que carregue primeiro (provavelmente `small.js`) - é executado primeiro:
112111
113112
```html run height=100
114113
<p>...conteúdo antes dos scripts...</p>
@@ -174,7 +173,6 @@ loadScript("/article/script-async-defer/small.js");
174173
```
175174

176175
Sem `script.async=false`, os scripts seriam executados na ordem padrão de carregamento primeiro (o `small.js` provavelmente primeiro).
177-
178176
Novamente, como com o `defer`, a ordem importa se quisermos carregar uma biblioteca e depois outro script que dependa dela.
179177

180178
## Resumo

0 commit comments

Comments
 (0)