重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
前端web頁面的渲染流程
創新互聯專注于蘿北網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供蘿北營銷型網站建設,蘿北網站制作、蘿北網頁設計、蘿北網站官網定制、微信平臺小程序開發服務,打造蘿北網絡公司原創品牌,更為您提供蘿北網站排名全網營銷落地服務。
1、構建DOM與 CSSOM
瀏覽器通過http請求,獲得靜態資源后,進行頁面渲染時,構建dom與cssom是同時進行的。
html 構建dom
構建dom時,按照html頁面中標簽的順序,由上向下渲染。
css 構建cssom
html構建cssom的同時,將css樣式構建為cssom
2、渲染樹 Render Tree
該過程中DOM與CSSOM合并,生成渲染樹,樹中包含了渲染頁面所需要的節點。
3、布局Layout
計算出每個節點對象的精確位置和大小
4、繪制Paint
使用上面準備好的節點信息,繪制出頁面
javascript
我們看到,在構建DOM和CSSOM階段,會有javascript進入
1、當瀏覽器遇到一個 script 標記時,DOM 構建將暫停,直至腳本完成執行。
2、JavaScript 可以查詢和修改 DOM 與 CSSOM。
3、JavaScript 執行將暫停,直至 CSSOM 就緒。
————————————————
原文鏈接:
在JsRender中,是通過調用方法render()來渲染模板的。
JsRender中,有三種方式調用render()方法來渲染模板。
1) 如果已經存在一個template的對象,則可以使用template.render(...)
[html] view plain copy print?
tabletbody id="person"/tbody/table
script id="personTmpl" type="text/x-jsrender"
tr
td
{{:name}}
/td
/tr
/script
[javascript] view plain copy print?
var myTmpl = $.templates("#personTmpl");
var person = {
name: "Adriana"
};
var html = myTmpl.render(person);
$("#person").html(html);
2) 如果已經有一個通過名字注冊的template,名字為("myTmpl"),則可以使用$.render.myTmpl(...)調用。
[html] view plain copy print?
tabletbody id="person"/tbody/table
script id="personTemplate" type="text/x-jsrender"
tr
td
{{:name}}
/td
/tr
/script
[javascript] view plain copy print?
$.templates("personTmpl", "#personTemplate");
var person = {
name: "Adriana"
};
var html = $.render.personTmpl(person);
$("#person").html(html);
3)如果該template是在一個script腳本塊中定義的,并且該腳本塊使用selector“#myTmpl",則同樣可以使用$("#myTmpl").render(...)調用。
[html] view plain copy print?
tabletbody id="person"/tbody/table
script id="personTemplate" type="text/x-jsrender"
tr
td
{{:name}}
/td
/tr
/script
[javascript] view plain copy print?
var person = {
name: "Adriana"
};
var html = $("#personTemplate").render(person);
$("#person").html(html);
render是渲染的意思。
res.render(file,option)是express中專門渲染視圖用的,首先你要在你的app.js或者index.js中設置一下渲染引擎,比如html,jade,handlebars(我自己使用的),mustache等。然后將視圖模板的文件位置放入file,將傳入的模板數據放入option對象中,模板引擎就能自己渲染出視圖。給你推薦一個npm模塊,express-handlebars,能很快搭建一個項目,你實踐過,就能明白res.render.
而渲染,就是這樣一個過程,瀏覽器根據頁面的html代碼、css定義、javascript腳本的操作,在瀏覽器上按照一定的規范(傳說中的 DOCTYPE )顯示出相應的內容。
舉個最簡單的例子:
b這個是粗體顯示/b
瀏覽器根據上面的代碼在瀏覽器上面顯示出粗體的文字,這個過程就叫渲染
JavaScript是一種基于對象和事件驅動并具有安全性能的腳本語言。
Javascript腳本語言同其他語言一樣,有它自身的基本數據類型,表達式和算術運算符及程序的基本程序框架。Javascript提供了四種基本的數據類型和兩種特殊數據類型用來處理數據和文字。而變量提供存放信息的地方,表達式則可以完成較復雜的信息處理。
JavaScript與Java的不同點
Java代碼必須編譯才能執行,而JavaScript不需編譯,只需瀏覽器解釋執行。
Java和JavaScript雖然都可以在服務器與客戶端執行,但Java多運行于服務器,而JavaScript多運行于客戶端。
JavaScript使用的是松散型的數據類型,而Java則使用的是嚴謹的數據類型。
是。有javascript的網頁仍是靜態網頁,不是動態網頁。不是網頁上有動態的元素才是動態網頁。假如一個網頁有javascript花花綠綠的,它仍是靜態網頁,所謂的靜態、動態是指能否與數據庫產生交互。只有PHP、asp、JSP這些網頁,才是動態網頁。靜態網頁與動態網頁的區別,動態網頁以.asp、.jsp、.php、.perl、.cgi等形式為后綴,并且在動態網頁網址中有一個標志性的符號——“?”,靜態網頁:以.htm、.html、.shtml、.xml等形式為后綴。
在服務器端運行的程序、網頁、組件,屬于動態網頁,它們會隨不同客戶、不同時間,返回不同的網頁,例如HTML, ASP、PHP、JSP、ASP.net、CGI等。靜態網頁運行于客戶端的程序、網頁、插件、組件,屬于靜態網頁,下面列出的四種情況都不一定是動態頁面,帶有音頻和視頻,帶有flash動畫,帶有css動畫,帶有javascript動畫。千鋒教育截止目前已在北京、深圳、上海、廣州、鄭州、成都、大連等20余個核心城市建立直營校區,服務近20萬學員、近千所高校和數萬家企業。