您現在的位置是:電腦技術吧?>? 基礎知識 ??>??瀏覽器是如何渲染頁面,瀏覽器加載渲染頁面的流程??>??正文詳情

瀏覽器是如何渲染頁面,瀏覽器加載渲染頁面的流程

度修能2019-11-23 08:51:31 人圍觀
簡介瀏覽器頁面本文提出了一種通過異步下載樣式表來防止樣式表下載阻塞頁面呈現的技術,使訪問者能夠盡快得到信息內容的警告!這篇文章充滿了善意,但它不負責讓讀者意識到以下問

本文展示了一種技術,它能通過異步下載樣式表,以阻止它們的下載阻塞頁面的渲染,從而盡可能快的讓訪問者獲取到信息內容。

  警告! 我發這篇帖子全是好意,但是它并不負責讓讀它的人意識到下面將會遇到的問題. 社區很快地給了我許多的反饋 (有些反饋我很感激) ,而越來越明顯的是這項技術并不如我所希望的那樣穩定. 不像我那樣的成功地對它進行了測試和利用,許多開發者在 IE 和 Firefox 中都遇到了問題( F F測試版中直接崩潰) 而其他人則報告在 Chrome 和 Safari 中是成功的。

我現在的建議是: 不要將其用于產品。

我計劃處理好這些反饋,并結合任何有關的信息對本文進行更新。

  這些技術背后的原理不是新的。

例如燈絲(Filament)技術組已經發布了大量有關 加載CSS 和字體的內容. 我寫就本文以記錄我對加載非阻塞資源的想法和觀點。

  觸發異步樣式下載的訣竅是使用一個 元素,并 為media 屬性設置一個不可用的值 (我用的是 media=none, 不過其它的任何值也是可以的)。

當一個媒體查詢的結果值計算出來是 false 的時候,瀏覽器仍然會下載樣式表,但是不會在渲染頁面之前等待樣式表的資源可用。

  1. link rel=stylesheet href=css.css media=none
樣式表一下載好,media 屬性就必須被設置一個可用的值,以便樣式規則能被應用到 html 文檔中onload 事件就可以用來將 media 屬性切換到all:CSS Code復制內容到剪貼板
  1. link rel=stylesheet href=css.css media=none onload=if(media!='all')media='all'
  這種加載 CSS 的方法將比標準的方法在向訪問者傳送有用信息的速度上快很多。

至關重要的 CSS 加載時仍然可以用一般的阻塞方式處理 (或者你也可以為了最終的性能對它進行內聯處理) ,而不重要的樣式則可以慢慢下載,并在解析/渲染過程的后面一點的階段進行應用.  這一技術使用了 JavaScript,但是你也可以在一個  這項技術有一個副作用。

當一個非阻塞的樣式表完成加載,文檔就將進行重繪,以反映它定義的任何新的樣式規則。

而注入新的樣式到頁面中會觸發內容回流, 但這也只是在這對第一次沒有歷史緩存的頁面加載過程中會是一個問題。

由于任何跟性能有關的東西,你都將要在需要控制一次回流耗費超過潛在的速度優勢時,進行必要的調整。

  使用非阻塞 CSS 加載字體  字體第一次繪制的性能是一個問題,它們是阻塞式的資源,也會讓應用它們的文本在該字體下載時不可見 。

使用上述示例中的非阻塞鏈接,就可能在幕后下載包含字體數據的樣式表,不阻塞壓面的渲染:  CSS Code復制內容到剪貼板

  1. link rel=stylesheet href=main.css link rel=stylesheet href=font.css media=none onload=if(media!='all')media='all'
    font.css 包含一個 base64 編碼的 WOFF 版本的 Merriweather 字體。

  CSS Code復制內容到剪貼板  @font-face {  font-family: Merriweather;  font-style: normal;  font-weight: 400;  src: local('Merriweather'), url('data:application/x-font-woff;charset=utf-8;base64,...')  }  main.css 包含了需要應用到站點的所有樣式規則。

下面是字體的聲明:  CSS Code復制內容到剪貼板  body {  font-family: Merriweather, Lucida Grande, ...;  }  當字體正在下載時,第一個匹配到的備用回退字體 (這里就是 Lucida Grande) 被用來渲染頁面的內容。

一旦字體樣式表被應用了,Merriweather 就會被使用. 我嘗試去確保回退的字體將相似的布局特征共享給優先選擇的字體,那樣不可避免的回流就盡可能微妙了。

  我在基于一個模擬的 3G 網絡連接的 Chrome 中,使用我的 Google Analytics Debugger 站點 拿阻塞和非阻塞方式進行了對比測試。

本地的測試產生了如下所示的網絡圖;注意 DOMContentLoaded 在更早的 450ms 觸發了,而資源在運用了非阻塞技術后下載起來更快了:

  模擬 3G 網絡的圖形。

頂部顯示了阻塞式的字體。

底部顯示了非阻塞式的字體。

  將其部署到一個測試服務器并在 3G 連接環境下運行 webpagetest 構造產生了如下時間線 :

  3G 時間線。

頂部顯示阻塞式的字體,底部展示非阻塞式的字體。

  兩種方法都花了2.8秒鐘來完整的渲染頁面,但是非阻塞方法比一般的阻塞方法使得繪制早了1秒鐘。

在在主樣式表進行了內聯的情況下運行相同的測試,顯示了在將非阻塞 CSS 被應用于處理字體時有0.7秒的時間優勢:

  主 CSS 內容的 3G 時間線。

頂部顯示阻塞式字體,底部顯示非阻塞式字體。

  這一技術對于字體的效果確實很好,但是我也建議對新的 CSS 字體加載模塊保持密切關注,它會給與我們超過字體加載的更多的控制能力。

  總結  加載字體是應用非阻塞技術的一個例子,而他也可以被用于其它的目的,比如從核心的 CSS 處分離出 JavaScript 增強的樣式。

  我已經開始去嘗試將樣式分成框架(核心布局) 和展現 (其它所有的東西)這種想法,它可以讓重要的頁面布局阻塞頁面渲染,而可見的樣式數據延遲一會。

版權聲明:本文由 度修能 整理編輯。

原標題:瀏覽器從加載到渲染的過程,瀏覽器輸入url到頁面渲染過程

轉載注明出處:http://www.dn9ww09s.icu/basics/14001.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • 提現,支付寶提現多久到賬

    提現,支付寶提現多久到賬 相關圖片吹牛提現沒有到賬寶美商城是一個軟件,不僅可以購物,而且可以經營自己的商店。在用戶通過自己開店賺錢后,寶美商城需要多長時間才能到賬取現?現在,超人軟件編輯也要介紹一...

  • 唱吧音效怎么調效果好,唱吧喊麥音效怎么調

    唱吧音效怎么調效果好,唱吧喊麥音效怎么調 相關圖片怎么調唱吧里面的音效才好聽唱歌吧是一種可以讓你隨時隨地卡拉OK的軟件。我相信你的MAC朋友最想知道的是如何把它調好。接下來,超人軟件編輯器將介紹如何調教Android版本的最佳音...

  • 首頁代碼,代碼

    首頁代碼,代碼 相關圖片界面代碼必須添加的標記1。公司版權聲明!---該網站設計于2000年6月-2日。網頁顯示字符集簡體中文:metahttp equiv=content typeconte改代碼...

  • PPT顯示比例,ppt設置顯示比例

    PPT顯示比例,ppt設置顯示比例 相關圖片如何查看ppt比例我相信在使用PPT的過程中,大家都發現PPT圖片一般有兩種比例。分別是4:3和16:10。ppt如何改變顯示比例?接下來,超人軟件編輯將向您介紹ppt4:3ppt設置比例大小...

  • 我的屬性面板,屬性面板

    我的屬性面板,屬性面板 相關圖片屬性Dreamweaver屬性面板可以快速更改HTML和CSS屬性,從而實現頁面修改的所見即所得效果。一。仍然使用greenstart.html文件作為示例文件,并圖層屬性面板在哪里...

  • 插件是什么,插件

    插件是什么,插件 相關圖片應用插件Chrome是目前最受好評的瀏覽器之一。它是由谷歌公司開發的。它的穩定性、速度和安全性都非常突出,深受用戶的喜愛。Chrome插件為Chrome提供了更好、更強lodop插件...

  • flash簡單實例教程,flash的教程

    flash簡單實例教程,flash的教程 相關圖片flash新手教程它主要是利用直線和掩模的知識來完成的。這個例子的效果是看到葉子慢慢落在圖片上:打開Flash MX軟件,打開文檔屬性對話框,將電影場景設置為默認大小,沒有顏色。自...

  • 記事本改字體,記事本怎么改字體

    記事本改字體,記事本怎么改字體 相關圖片修改了記事本腳本記事本作為win7的文本編輯工具,相信大家都很熟悉。但是你知道win7記事本可以改變字體嗎接下來,超人軟件將介紹如何改變win7記事本的字體。我希望你很高興可以改...

  • 不同的筆觸,什么的筆觸

    不同的筆觸,什么的筆觸 相關圖片筆觸什么意思最后的渲染是這樣的:首先創建一個新的800*600px黑色背景畫布,然后下載下面的pen PNG源文件使用,將源文件中的路徑復制到畫布上,你會發現你的pen c筆觸水粉...

  • 怎樣開戶,開戶

    怎樣開戶,開戶 相關圖片券商開戶電子商務聯盟是一個非常實用的商品信息現貨流通服務平臺,在這里開戶后就可以輕松賺錢。那我怎樣才能在電子商務上開戶呢?接下來,超人軟件編輯將為您介紹電子商務聯...

熱評文章

  • pdf怎么轉換成jpg圖片,怎么把圖片轉換成word

    pdf怎么轉換成jpg圖片,怎么把圖片轉換成word 相關圖片圖片pdf轉換成jpg格式您是否經常遇到在工作過程中需要將PDF文件轉換為圖片的情況?你知道如何把PDF文件轉換成圖片嗎?現在,超人軟件編輯器將介紹如何將PDF轉換為JPG,如果需要的話...

  • 怎么提升開機速度,提升開機速度

    怎么提升開機速度,提升開機速度 相關圖片電腦開機速度最快幾秒最近,許多win10用戶報告說,他們的計算機啟動緩慢。那么如何設置win10系統的系統配置來提高啟動速度呢?接下來,你不知道如何跟隨超人軟件編輯器學習如何設...

  • 寧愿做一個讓人聞風喪膽,寧做讓人聞風喪膽的壞人

    寧愿做一個讓人聞風喪膽,寧做讓人聞風喪膽的壞人 相關圖片讓人聞風喪膽的今天,騰訊的學生何柳柳分享了一份精彩的H5總結筆記。他梳理了設計的動態效果、具體的實現方法以及他踩到的一些漏洞。他是一個高能干產品。他強烈建議學習!前言...

  • 桔子白條,桔子茶藍白條

    桔子白條,桔子茶藍白條 相關圖片桔子分期吧Orange staging是一種生活購物軟件。在這個軟件中,用戶只需申請一張白條,就可以在支付前體會到消費的體驗。那么如何在橙色的分期付款中制作白色條紋呢?接藍白條...

  • 水晶質感,PS水晶質感

    水晶質感,PS水晶質感 相關圖片如何用ps做出水晶質感的效果一。輸入你想要的單詞。2。使用“縮放”和“扭曲”工具調整所需的角度(請注意,這是我們正在處理的內容或單詞2不是組合路徑,因為如果它是由路徑處...

  • 719唯品會,719唯品會包郵嗎

    719唯品會,719唯品會包郵嗎 相關圖片唯品會y近日,摩比和唯品會推出了719紅包車活動。你知道719盒式汽車的用途嗎?接下來,超人軟件編輯將介紹如何玩iPhone版的Moby唯品會紅包車,感興趣的合作伙伴唯品會為什么便宜...

  • 段落縮進,段落首行縮進

    段落縮進,段落首行縮進 相關圖片各段落首行縮進2字符一。只有人為地增加兩個中文滿空間,才能顯示位置縮進效果。2。插入點地圖或圖形點地圖是指圖片中只有一個或多個像素點,肉眼看不到。當我們在段落的開頭插...

  • 清理,清除瀏覽記錄

    清理,清除瀏覽記錄 相關圖片win7刪除文件恢復相信使用win7的小朋友們已經發現,他們的電腦系統在累積使用的過程中存儲了很多無用的記錄。那么win7系統如何清理記錄呢?接下來,超人軟件小程序將為您介紹win清...

  • 自學交互設計,交互設計自學網站

    自學交互設計,交互設計自學網站 相關圖片交互設計需要學編程嗎對于所有人來說,最常見的問題是如何從零基礎上學習交互設計。事實上,在許多情況下,零基礎并不可怕,但他們最害怕的是零基礎帶來的浮躁,例如,他們往...

  • 抖音切換鏡頭視頻教程,抖音怎么切換幾個畫面

    抖音切換鏡頭視頻教程,抖音怎么切換幾個畫面 相關圖片抖音怎么切換場景自助餐作為下一代流行的電影拍攝軟件,以其超酷的功能受到很多年輕人的喜愛。但是你知道怎么換相機嗎?現在,超人軟件將為您帶來iPhone版本的相機切換方法。我...

關注微信

变脸官网查询