You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 2-ui/5-loading/02-script-async-defer/article.md
+8-10Lines changed: 8 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,7 @@ Felizmente, existem dois atributos `<script>` que resolvem o problema para nós:
37
37
38
38
## defer
39
39
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.
41
41
42
42
Aqui está o mesmo exemplo acima, mas utilizando o `defer`:
43
43
@@ -53,7 +53,7 @@ Aqui está o mesmo exemplo acima, mas utilizando o `defer`:
53
53
Em outras palavras:
54
54
55
55
- 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`).
57
57
58
58
O exemplo a seguir demonstra a segunda parte:
59
59
@@ -73,7 +73,6 @@ O exemplo a seguir demonstra a segunda parte:
73
73
2. O manipulador de eventos `DOMContentLoaded` espera pelo script com a tag defer. O evento é disparado só quando o script é baixado e executado.
74
74
75
75
**Os scripts com a tag defer mantêm sua ordem relativa, assim como os scripts normais.**
76
-
77
76
Digamos que temos dois scripts com a tag defer: o `long.js` e o `small.js`:
78
77
79
78
@@ -82,11 +81,11 @@ Digamos que temos dois scripts com a tag defer: o `long.js` e o `small.js`:
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.
86
85
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`.
88
87
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.
90
89
91
90
```smart header="O atributo `defer` é apenas para scripts externos"
92
91
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:
104
103
- `DOMContentLoaded` pode acontecer antes de um script `async` (se um script `async` terminar de carregar depois que a página for concluída)
105
104
- ... ou após um script `async` (se um script `async` for curto ou estiver em cache HTTP)
106
105
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?
108
107
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`.
110
109
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:
0 commit comments