Si consideri il seguente codice:DOM di carico è bloccato e poi sceneggiatura
<head>
<style>
.box{
background-color:red;
height:150px;
width:150px;
}
</style>
</head>
<body>
<div class="box"></div>
<script>
var start = new Date();
while(true) {
var now = new Date();
if (now-start > 10000)
break;
}
console.log('main thread finished');
</script>
</body>
è una grande sorpresa per me che DOM rinvia la propria carico per dieci secondi (.box rettangolo è apparso dopo 10 secondi!) . Dal momento che viene prima (<div class="box"></div>)
, perché è in attesa dello script che segue? Qualche spiegazione ragionevole?
Grazie
Scusami @ Rayon; tuttavia, dopo le tue modifiche non è evidente che lo script venga dopo DOM! In tal caso, la mia domanda non ha alcun significato ... –
Se si esegue questo snippet, si vedranno gli stessi risultati .. Il posizionamento dello script non fa alcuna differenza in questo caso ... – Rayon
non fa alcuna differenza, sia che tu inserisca il corpo o la testa. L'esecuzione si arresta comunque. –