❶ 前端開發者應知必會:瀏覽器是如何渲染網頁的
主要由渲染引擎完成,渲染引擎主要包括:HTML解釋器 CSS解釋器 布局(layout) JavaScript引擎
HTML解釋器:解釋HTML文本的解釋器,主要作用是將HTML文本解釋成DOM(文檔對象模型)樹,DOM是一種文檔的表示方法;
CSS解釋器:級聯樣式表的解釋器,它的作用是為DOM中的各個元素對象計算出樣式信息,從而為計算機最後網頁的布局提供基礎設施;
布局:在DOM創建之後,Webkit需要將其中的元素對象跟樣式信息結合起來,計算它們的大小位置等布局信息,形成一個能夠表示這所有信息的內部表示模型;
JacaScript引擎:使用JavaScript代碼可以修改網頁的內容,也能修改CSS的信息,JavaScript引擎能夠解釋JavaScript代碼並通過DOM介面和CSSOM介面來修改網頁內容和樣式信息,從而改變渲染的結果;
繪圖:使用圖形庫將布局計算後的各個網頁的節點繪製成圖形結果(例如:需要依賴2D/3D圖形庫,音頻視頻和圖片解碼器等來實現高性能的網頁繪制和網頁的3D渲染);
此內容摘自webkit內核書上復制下來的
❷ vue前端非同步與頁面渲染問題:怎樣讓子非同步函數完成後頁面再渲染
非同步載入完成後 調用ui線程的handle來sendMessage 在handle的dispatchMessage中處理消息,做progressBar的隱藏處理
❸ 什麼是前端渲染什麼是服務端渲染兩者區別及應用場景
舉個商品列表頁面為例子。
前端渲染:說的應該是剛進入頁面時,商品列表這些數據都不給你,不會渲染出這些數據。然後載入script時,再用ajax或者fetch之類的發起了請求另一個介面,服務端返回了商品列表的json數據給你,你在js中用模板引擎之類的技術,把這些數據拼成html字元串插入到Dom里。
服務端渲染:服務端用php的smarty模板或者java的jsp,把頁面的商品列表信息渲染出來了,返回一個html給瀏覽器了。
區別:如果頁面要求被蜘蛛抓取,前端渲染的數據就不能被抓取到,但是服務端渲染的頁面就能被抓取到。如果有SEO要求,只能用服務端渲染。如果用Node.js渲染的話,那就都沒這些問題了。