1. 程式人生 > >html、css、js檔案載入順序及執行情況

html、css、js檔案載入順序及執行情況

今天看書,看到html,css,js載入執行情況,發現自己並不是真正的瞭解,網上搜了半小時依然未弄明白,就在這時我找到了讓我恍然大悟的一段話,如下:

HTML頁面載入和解析流程 

1. 使用者輸入網址(假設是個html頁面,並且是第一次訪問),瀏覽器向伺服器發出請求,伺服器返回html檔案。 

2. 瀏覽器開始載入html程式碼,發現<head>標籤內有一個<link>標籤引用外部CSS檔案。 

3. 瀏覽器又發出CSS檔案的請求,伺服器返回這個CSS檔案。 

4. 瀏覽器繼續載入html中<body>部分的程式碼,並且CSS檔案已經拿到手了,可以開始渲染頁面了。 

5. 瀏覽器在程式碼中發現一個<img>標籤引用了一張圖片,向伺服器發出請求。此時瀏覽器不會等到圖片下載完,而是繼續渲染後面的程式碼。 

6. 伺服器返回圖片檔案,由於圖片佔用了一定面積,影響了後面段落的排布,因此瀏覽器需要回過頭來重新渲染這部分程式碼。 

7. 瀏覽器發現了一個包含一行Javascript程式碼的<script>標籤,趕快執行它。 

8. Javascript指令碼執行了這條語句,它命令瀏覽器隱藏掉程式碼中的某個<style>(style.display=”none”)。杯具啊,突然就少了這麼一個元素,瀏覽器不得不重新渲染這部分程式碼。 

9. 終於等到了</html>的到來,瀏覽器淚流滿面…… 

10. 等等,還沒完,使用者點了一下介面中的“換膚”按鈕,Javascript讓瀏覽器換了一下<link>標籤的CSS路徑。 

11. 瀏覽器召集了在座的各位<div><span><ul><li>們,“大夥兒收拾收拾行李,咱得重新來過……”,瀏覽器向伺服器請求了新的CSS檔案,重新渲染頁面。

總結:1.總的來說就是按照html文件的順序載入

   2.還有就是最好將無論內部或是外部JS檔案放到所有html內容之後,這樣會令使用者感覺頁面載入速度變快了,否則如果將所有外部檔案(包括css和JS)引用都放到<head>中,意味著必須等到全部的JS程式碼都被下載解析和執行完畢後,才能開始呈現頁面的內容(當瀏覽器遇到<body>),這樣會導致呈現頁面時出現明顯的延遲,二延遲期間的瀏覽器視窗將是一片空白。

相關推薦

htmlcssjs檔案載入順序執行情況

今天看書,看到html,css,js載入執行情況,發現自己並不是真正的瞭解,網上搜了半小時依然未弄明白,就在這時我找到了讓我恍然大悟的一段話,如下: HTML頁面載入和解析流程 1. 使用者輸入網址(假設是個html頁面,並且是第一次訪問),瀏覽器向伺服器發出請求,伺服器返回html檔案。 2. 瀏覽器開始

gulp壓縮htmlcssjs檔案流程監聽任務使用gulp建立伺服器同時執行多個任務反向代理

一、初始化 首先先做一個專案初始化,用來記錄你專案中用到的工具 再你專案檔案下開啟一個控制檯,輸入命令 yarn init -y 進行初始化   輸入命令yarn add gulp -g  --- 全域性安裝gulp,這裡我提前已經安裝過了就不演示了,然後再輸入命令yarn add gu

關於CSSJS檔案引用順序---BS的標準模版(轉)

<!DOCTYPE html> <html> <head> <!--網頁頁面字符集--> <meta charset="utf-8"> <!--讓IE使用最

iOS webView載入本地htmlcssjs檔案

1.h5本地html檔案,載入到web view上面,不需要網路亦可以加載出來。 2.h5內容格式設定檔案寫法 文章內容 在IOS開發中,可以通過webView來載入HTML檔案 步驟如下: 1.需要有一個webView,可以通過sto

IOS開發(7)WKWebView載入本地HTMLCSSJS檔案JS(解決html內訪問其他資源路徑問題)

這段時間開發IOS應用,自己本身是搞java web 和 android,搞ios應用後面還有好多坑要跳,所以學習一點就整理一點筆記。不敢保證內容都是對的,但至少,我嘗試過分析整理的。 UIWebVIew和WKWebView都是ios提供的web控制元件。但是

htmlcssjs載入順序

瀏覽器載入和渲染html的順序 1. IE下載的順序是從上到下,渲染的順序也是從上到下,下載和渲染是同時進行的。 2. 在渲染到頁面的某一部分時,其上面的所有部分都已經下載完成(並不是說所有相關聯的元素都已經下載完)。 3. 如果遇到語義解釋性的標籤嵌入檔案(JS指令碼,C

htmlcssjs註釋的規範用法

ont alt 推薦 pan 文件 strong 服務 可用 如何 成為專業的前端工程師!!! html註釋: <!--註釋內容--> css註釋: //註釋內容 單行註釋(不推薦使用,因為有的瀏覽器可能不兼容,沒有效果)/*註釋內容*/ 多

htmlcssjs原生寫一個模態彈出框,順便解決父元素半透明子元素不透明效果

script javascrip z-index htm index 彈出 rgb 特性 radi 模態框: html部分: <!-- 按鈕 --> <button id="box" onclick="pop_box()">彈出框</

復習HTMLCSSJS練習題

bsp width type nbsp alt 打勾 text image 習題 表格復選框全選 1 <!doctype html> 2 <html> 3 <head> 4 <meta charset="utf-8"&g

Django中簡單添加HTMLcssjs等文件

htm djang .py 項目 移動 資源 默認 alt templates 首先申明下自己的環境, python版本3.65 Django版本1.11.15 創建默認Django項目後 首先說下添加Html 在urls.py文件中添加如圖代碼,照抄也

html 如何訪問 jar 包裏面的靜態資源(jscss字體等)

感覺 裏的 query 源文件 需要 資源 巴巴 png dea 前言:最近兩天在嘗試寫一個工具 jar 包,裏面包含後臺處理的 java 代碼,包含前端 html、js、css、字體文件等,過程中解決了訪問 jar 包裏的靜態資源問題,所以記錄下來。 附:自己的一個

每日知識總結計劃(javaandroidreact nativeweb框架jscsshtmlajax)首頁

作為一名資訊系的學生,現在學的太多,忘得也快,但是實在不忍心辛苦理解的知識就這樣慢慢被自己忘記。 所有這篇帖子作為今天起(2018.10.16  17:32),記錄每天得知識總結首頁。 下面得帖子連結分為一個月為一個單位做記錄,每天的記錄就在當月的一個月的帖子上更新。 20

JSCSSImage預載入

Image預載入 <div class="hidden"> <script type="text/javascript"> var images = new Array() function preload() { for (i = 0; i < preload.argume

Web前端-HTMLCSSJS

概述   HTML是英文Hyper Text Mark-up Language(超文字標記語言)的縮寫,它是一種製作全球資訊網頁面標準語言(標記)。相當於定義統一的一套規則,大家都來遵守他, 這樣就可以讓瀏覽器根據標記語言的規則去解釋它。瀏覽器負責將標籤翻譯成使用者“看得懂”的格式,呈現給使用者

HTMLCSSJS與JQuery的區別

【一】HTML——Hypertext Markup Language  HTML:超文字標記語言,是靜態網頁。“超文字”就是指頁面內可以包含圖片、連結,甚至音樂、程式等非文字元素。該文件本身有頁面結構,顯示頁面內容;可以理解為網頁中的標籤,比如div、ul、p等等這些。瀏覽

htmlcssjs簡單的頁面應用

主要實現三個方面(主頁、登陸頁、註冊頁、新聞詳情頁) 其中主頁包括(上面的導航欄,中間資訊分類、資訊詳情和資訊推薦) 主頁 <!DOCTYPE html> <html lang="en"> <head> <m

nodejs搭建靜態伺服器 用Nodejs搭建伺服器訪問htmlcssjs等外部連結

第一步,俗話說的好,工欲善其事,必先利其器。既然要用node+express配置伺服器,如果電腦上沒有的話自然要先安裝這兩個大寶貝啦。 1.安裝node。到Node官網下載安裝即可,直接下一步下一步就完成了。 2.npm初始化專案。開啟終端,輸入npm init -y即可

快速上手Vue(適合懂基礎htmlcssjs的人)

快速上手Vue 前述 1. 目標是通過本文,快速瞭解Vue的基本原理和使用它進行簡單的開發 2. 只需要html、css、js基礎即可(原理涉及ES5,ES6,但對開發者來說不是必須要學的) 3. 這是根據我內部分享的PPT改寫的 目錄 1. 概述 2

Struts2配置檔案載入順序

Struts2框架的核心是StrutsPrepareAndExecuteFilter過濾器,該過濾器有兩個功: Prepare:預處理,載入核心的配置檔案 Execute:執行,讓部分攔截器執行。 那麼StrutsPrepareAndExecuteFilter過濾器會載入哪些配置檔案

HtmlCSSJS程式碼註釋的規範總結

新增必要的註釋,對一個有責任心、有道德模範的前端必須具備的好習慣,可以大大提高程式碼的可維護性、可讀性。 首先熟悉一下html、css、js的註釋的寫法: 1、HTML註釋語法: <!--註釋的內容--> 2、css註釋語法 /* 註釋內容 */