Я довольно зеленый для веб-разработки.
На одном из моих курсов мне сказали, что следующее произойдет, когда браузер прочитает веб-страницу.
На очень высоком уровне я предполагаю, что это основной поток.
1.Browser вытаскивает HTML-страницу.
2.Browser понимает структуру документа, используя теги HTML.
3.После шага 2 браузер понимает селектор/свойства CSS.
4.Browser теперь создает модель DOM.
5. После этого интерпретатор javascript в браузере интерпретирует сценарий.js
Вопросов
1. Правильно ли этот поток?
2. Я знаю, что HTML-теги могут обрабатываться javascript.
Селектора CSS также являются частью DOM и могут управляться javascript?
Не совсем верно. Это сложный процесс.
JavaScript не запускается сразу после загрузки всей страницы, поэтому вы увидите, что многие младшие программисты совершают ошибку, пытаясь манипулировать HTML, не проверяя, загружена ли страница.
Когда браузер достигнет элемента, такого как <script>
или <link>
он попытается вытащить ресурс и в случае успеха выполнит этот ресурс. Значение кода JavaScript, например, будет выполняться до загрузки DOM, если <script>
находится в голове (где он обычно есть). CSS работает аналогичным образом, однако на самом деле не имеет значения, когда CSS применяется, в большинстве случаев, поскольку он не может сбой. Вы можете создавать стили и даже изменять встроенные стили элементов, используя JavaScript, но общим правилом является сохранение стилей, которые могут находиться в файлах.css.
<script>
находится в голове (где он обычно находится) » в большинстве случаев лучше поместить тег / теги script
в конец страницы прямо перед </body>
, это лучше для улучшения загрузки страницы и Я думаю, что таким образом вам не нужно проверять готовность DOM. Хотя это не всегда так, некоторые скрипты IMO могут быть лучше включены в заголовок, как modernizr, чтобы проверить, поддерживает ли browserX определенную функцию или нет, Updovted