html edge瀏覽器 圖片,瀏覽器時序圖及 Microsoft Edge 構架

本文又是我的作業,完成思路借鑒了 版權說明。

作業要求針對一款典型瀏覽器,繪制瀏覽器處理時序圖對用戶界面進行操作(如拖拽窗口)

帶有 JavaScript 腳本 HTML 文檔

查閱資料,繪制 Edge 瀏覽器的參考架構

瀏覽器時序圖

對用戶界面進行操作(如拖拽窗口)

在這里我使用 Chrome 瀏覽器訪問我個人博客,我的博客使用了響應式布局,在這我已經加載好了我的網頁,然后使用 Chrome 的性能工具錄制了我拖拽窗口的過程,并對此進行分析。

png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAABS2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+IEmuOgAAAA1JREFUCJljePfx038ACXMD0ZVlJAYAAAAASUVORK5CYII=

可以到在這個過程中 Chrome 并沒有向網絡棧請求資源,涉及到的只有內核部分的渲染,具體過程是 Recaculate Style – Layout – Update Layer Tree – Paint – Update Layer Tree – Paint – Composite Layers。所以該操作時序圖如下:

png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAABS2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+IEmuOgAAAA1JREFUCJljePfx038ACXMD0ZVlJAYAAAAASUVORK5CYII=

帶有 JavaScript 腳本 HTML 文檔

其時序圖如下:

png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAABS2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+IEmuOgAAAA1JREFUCJljePfx038ACXMD0ZVlJAYAAAAASUVORK5CYII=

瀏覽器基本結構

首先我們復習下上課說的瀏覽器的基本結構,由于課件版權問題,我就自己畫一個:

png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAABS2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+IEmuOgAAAA1JREFUCJljePfx038ACXMD0ZVlJAYAAAAASUVORK5CYII=

大致來說,瀏覽器分為八個部分:用戶界面:與用戶交互、接受用戶操作、 展現瀏覽器當前狀態。

瀏覽器引擎:一個可嵌入的組件,提供查詢和操作渲染引擎的高層接口(加載、刷新、后退、 錯誤信息等),其使渲染引擎平臺無關,提高可移植性。

渲染引擎:瀏覽器的核心部分

解析 HTML 文檔和 CSS 描述

依據 CSS,完成 HTML 布局

網絡:提供網絡相關的功能,如協議解析、網絡 I/O 等。

JavaScript 解釋器:解析并執行 JavaScript 代碼,結果返回給渲染引擎。

渲染

XML 解析器:解析XML文檔。

用戶界面后端:提供繪制、窗口原語和字體等。

數據存儲:存儲書簽、Cookie、緩存等各種數據到硬盤上。

Edge 瀏覽器的參考架構

首先我們來完成這一部分,參考 Chrome 的架構,基本上我們把每個部分所使用的模塊找出來即可。

于是我們很容易可以查找 Microsoft Edge 的渲染引擎是

png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAABS2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+IEmuOgAAAA1JREFUCJljePfx038ACXMD0ZVlJAYAAAAASUVORK5CYII=

接下來我們從網上可以搜到 Edge 的 JavaScript 解釋器是和 ie 同名的 于是默念一遍 M$ 大法好。

接下來,我就找不到任何信息了,為了完成作業,我找遍了各種英文資料、微軟官方文檔,可一無所獲,但最后發現了

首先我們還是從 Process Explorer 中入手,查看 MicrosoftEdgecp.exe 調用的 .dll,我將整個列表截圖如下:

png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAABS2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+IEmuOgAAAA1JREFUCJljePfx038ACXMD0ZVlJAYAAAAASUVORK5CYII=

在這里我們可以發現一個叫 EdgeContent.dll 的庫,猜測這應該就是 Edge 的瀏覽器引擎。

于是我們繪制 Edge 瀏覽器的結構圖如下:

png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAABS2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+IEmuOgAAAA1JREFUCJljePfx038ACXMD0ZVlJAYAAAAASUVORK5CYII=

參考

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/261008.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/261008.shtml
英文地址,請注明出處:http://en.pswp.cn/news/261008.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

您需要了解的跨阻放大器——第1部分

跨阻放大器(TIA)是光學傳感器(如光電二極管)的前端放大器,用于將傳感器的輸出電流轉換為電壓。跨阻放大器的概念很簡單,即運算放大器(op amp)兩端的反饋電阻(RF&#xff…

Objective-C組合模式(Composite)

什么是組合模式? 官方:將對象組合成樹形結構以表示“部分-整體”的層次結構,組合模式使用戶使用單獨對象和組合對象具有一致性。 個人理解:組合模式就相當于一個大家族,每個人都是家族中的一部分,整個家族就…

WP7應用開發筆記(3) 界面設計

界面設計 回顧一下按鈕清單: 播放控制播放/暫停Space 停止F4 快進Right 快退Left 快進X2ControlRight 快退X2ControlLeft 快進X3AltRight 快退X3AltLeft音量放大Up 縮小Down 靜音M節目下一個PageDown 上一個PageUp基本上就是把這些按鈕布置到480*800的屏幕上。 快進…

html手機顯示評論列表頁面,請問如何完美顯示評論列表頭像

目前具體思路是通過輪詢構建頭像,條件是通過判斷評論區條目length。問題是有時依然無法顯示評論區頭像。以下是目前的代碼:function showAvatar() {$(.feedbackItem).each(function() {let avatar $(this).children(.feedbackCon).children(span:last).…

幾何畫板中可以這樣選擇對象

在使用幾何畫板過程中,一些用戶朋友發現幾何畫板雖然是在Windows平臺上運行的軟件,但它選擇對象的選擇方式常常與一般的Windows繪圖軟件是有一些差別的,下面將通過詳細的講解,讓大家對幾何畫板選擇對象方法有比較系統全面的了解。…

2012 不宜進入的三個技術點(下)

賴勇浩(http://laiyonghao.com)CC 在 2011 年其實風頭甚勁,C2011 標準出臺,gcc/msvc/clang 都很快速地支持了許多新特性,新興的移動設備的性能較差,更是 C 的新舞臺,在這個時候唱衰 C&#xff0…

菜鳥做HTML5小游戲 - 刮刮樂

繼上篇翻翻樂之后,又來刮刮樂。還是先上效果圖: 開始demo的世界: 1.css去繪制界面效果。(源碼提供) 2.原理:要實現刮刮卡內容的出現,我用div做了背景層去顯示刮出的內容結果【重點】。中間Canva…

1 計算機主機里面都有些什么東西,計算機主機和外設分別包括那些東西?

___耐撕Nice___的回答:1、主機是指計算機除去輸入輸出設備以外的主要機體部分。也是用于放置主板及其他主要部件的控制箱體(容器Mainframe)。通常包括 CPU、內存、主板、光驅、電源、以及其他輸入輸出控制器和接口。在網絡技術中是關于發送與接收信息的終端設備。2、…

AppDynamics趙宇辰:硅谷APM獨角獸,打造DevOps領域的智能大腦

近來,關于機器學習的報道很多,國內外的大型互聯網企業都在著手對機器學習的研究。對應用性能的高效管理,首先要了解應用的一手數據,通過傳統的數據獲取方式已經不能滿足企業的發展和市場環境,這就需要借助機器學習的技…

江蘇有保障的計算機應用技術,2022年江蘇單招計算機應用技術專業公辦學校名單...

2021年高職單招升學一對一咨詢蒲善婷:18983252108(微信)很多考生都存在一個疑問,到底該選擇什么樣的單招學校和專業?其實啊,我們在選擇時首先要了解學校的辦學情況和招生專業,看看有沒有是不是符合自己的選擇條件,是否…

mybatis一對多查詢

18 <!-- 19 方式一&#xff1a;嵌套結果&#xff1a;使用嵌套結果映射來處理重復的聯合結果的子集 20 封裝聯表查詢的數據(去除重復的數據) 21 select * from class c, teacher t where c.teacher_idt.t_id and c.c_id1 22 --> 23 …

如何選購集成吊頂

吊頂對比-選購-經驗篇:集成吊頂頂行業作為一個新興的行業類別&#xff0c;同時也是一個高速發展的行業&#xff0c;使得集成吊頂市場牌混亂不堪&#xff0c;為大家介紹 正確的選購之法。以下內容由買購網整理&#xff0c;提供給您參考。現在市場上扣板已經有很多品種了&#xf…

php - preg_match

任務&#xff1a;匹配一個函數名或者變量名&#xff0c;如果碰到alpha&#xff0c;numeric&#xff0c;_以外的全部不允許通過。 實驗1&#xff1a; <?php //第一個字符不符合就直接退出正則匹配 $str %abcscript%d; var_dump(preg_match(/^(\w*)$/, $str, $matches)); va…

wp網站鏈接不帶html,解決WordPress網站帶與不帶WWW網址跳轉問題

我們在用wordpress搭建網站的時候是不是有些時候發現在輸入WWW與不帶WWW的地址都可以打開&#xff0c;以前我在配置的時候直接用WWW或者不帶WWW只需要在后臺設置兩個統一的地址就可以。這幾天在遇到一個網站發現并不是這樣的&#xff0c;即便都設置了WWW的域名&#xff0c;然后…

Android環境搭建遭遇Unsupported major.minor version 52.0

為什么80%的碼農都做不了架構師&#xff1f;>>> 首先&#xff0c;個人在windows 10下配置Android的開發環境。由于之前在開發Java web,所以安裝了eclipse&#xff0c;MyEclipse,jdk 1.7 等。由于希望開發 android 5.1&#xff0c;早在之前也有開發過Android&#x…

[轉] 實戰 SSH 端口轉發

http://www.cnblogs.com/napoleon_liu/articles/2020759.html轉載于:https://www.cnblogs.com/GenghisKhan/archive/2012/02/09/2343468.html

標準用戶如何打開計算機管理,WIN7標準賬戶怎樣開啟Administrator賬戶

Win7 標準用戶安裝軟件時需要管理員權限&#xff0c;那么WIN7標準賬戶怎樣開啟Administrator賬戶呢?下文學習啦小編就分享了WIN7標準賬戶開啟Administrator賬戶的方法&#xff0c;希望對大家有所幫助。WIN7標準賬戶開啟Administrator賬戶方法一、將標準用戶升級為管理員賬戶。…

linux刪除、讀取文件原理

linux刪除文件原理 LINUX的文件名是存在父目錄的block里面&#xff0c;并指向這個文件額inode節點&#xff0c;這個文件的inode節點再標記指向存放這個文件的block的數據塊。我們刪除一個文件&#xff0c;實際上并不是清楚inode節點和block的數據。只是在這個文件的父目錄里面的…

delphi 窗體的釋放

關于窗體的釋放:Close&#xff08;&#xff09;方法是將窗體隱藏&#xff0c;即form.hide; 釋放窗體或是控件的標準用法是Form.Free&#xff0c;其實Free方法只是調用了Destroy&#xff08;&#xff09;方法&#xff0c;在窗體不為nil時進行資源的釋放&#xff0c;但并不將窗體…

Java數字、貨幣格式化

廣州瘋狂軟件學院擁有三大課程體系包括&#xff1a;java課程&#xff0c;android課程&#xff0c;ios課程&#xff0c;本月基礎強化營(可先就業后付款)火熱報名中&#xff0c;歡迎有志之士電話或者咨詢。 package com.tq365.util; import java.text.NumberFormat; import java.…