本文又是我的作业,完成思路借鉴了 版权说明。

作业要求针对一款典型浏览器,绘制浏览器处理时序图对用户界面进行操作(如拖拽窗口)

带有 JavaScript 脚本 HTML 文档

查阅资料,绘制 Edge 浏览器的参考架构

浏览器时序图

对用户界面进行操作(如拖拽窗口)

在这里我使用 Chrome 浏览器访问我个人博客,我的博客使用了响应式布局,在这我已经加载好了我的网页,然后使用 Chrome 的性能工具录制了我拖拽窗口的过程,并对此进行分析。

可以到在这个过程中 Chrome 并没有向网络栈请求资源,涉及到的只有内核部分的渲染,具体过程是 Recaculate Style – Layout – Update Layer Tree – Paint – Update Layer Tree – Paint – Composite Layers。所以该操作时序图如下:

带有 JavaScript 脚本 HTML 文档

其时序图如下:

浏览器基本结构

首先我们复习下上课说的浏览器的基本结构,由于课件版权问题,我就自己画一个:

大致来说,浏览器分为八个部分:用户界面:与用户交互、接受用户操作、 展现浏览器当前状态。

浏览器引擎:一个可嵌入的组件,提供查询和操作渲染引擎的高层接口(加载、刷新、后退、 错误信息等),其使渲染引擎平台无关,提高可移植性。

渲染引擎:浏览器的核心部分

解析 HTML 文档和 CSS 描述

依据 CSS,完成 HTML 布局

网络:提供网络相关的功能,如协议解析、网络 I/O 等。

JavaScript 解释器:解析并执行 JavaScript 代码,结果返回给渲染引擎。

渲染

XML 解析器:解析XML文档。

用户界面后端:提供绘制、窗口原语和字体等。

数据存储:存储书签、Cookie、缓存等各种数据到硬盘上。

Edge 浏览器的参考架构

首先我们来完成这一部分,参考 Chrome 的架构,基本上我们把每个部分所使用的模块找出来即可。

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

接下来我们从网上可以搜到 Edge 的 JavaScript 解释器是和 ie 同名的 于是默念一遍 M$ 大法好。

接下来,我就找不到任何信息了,为了完成作业,我找遍了各种英文资料、微软官方文档,可一无所获,但最后发现了

首先我们还是从 Process Explorer 中入手,查看 MicrosoftEdgecp.exe 调用的 .dll,我将整个列表截图如下:

在这里我们可以发现一个叫 EdgeContent.dll 的库,猜测这应该就是 Edge 的浏览器引擎。

于是我们绘制 Edge 浏览器的结构图如下:

参考

html edge浏览器 图片,浏览器时序图及 Microsoft Edge 构架相关推荐

  1. 微软edge浏览器花屏_如何玩Microsoft Edge的秘密冲浪游戏

    微软edge浏览器花屏 Remember SkiFree? Microsoft is one-upping Google Chrome's hidden dinosaur game. The new ...

  2. 打开IE浏览器就会跳转到Microsoft Edge微软浏览器如何解决

    项目场景: 某件事情必须要用到IE浏览器 问题描述 一打开IE浏览器时却老是会跳转到Microsoft Edge浏览器,不知道如何解决 原因分析: 1.因为微软已将开发重心放在基于Chromium的新 ...

  3. edge搁置标签页_如何自定义Microsoft Edge的新标签页

    edge搁置标签页 The latest Microsoft Edge browser is based on Google Chrome's Chromium software. Both brow ...

  4. 微软edge如何退出登录_如何更新Microsoft Edge

    微软edge如何退出登录 Microsoft 微软 Browser updates are important. Updates for Microsoft Edge deliver critical ...

  5. #Microsoft Edge功能测评!# 关于Edge浏览器以及插件推荐

    关于Edge浏览器以及插件推荐 1.关于Microsoft Edge...... 1.1 什么是Microsoft Edge 1.2Microsoft Edge的优势 2.Microsoft Edge ...

  6. 再见!微软宣布终止对旧版 Microsoft Edge 浏览器的支持

    微软宣布自 2021 年 3 月 9 日起终止对旧版 Microsoft Edge(Microsoft Edge Legacy)浏览器的支持. 旧版 Microsoft Edge 是基于 EdgeHT ...

  7. Win10系统下禁止ie浏览器自动跳转到Microsoft Edge浏览器

    Win10系统下禁止ie浏览器自动跳转到Microsoft Edge浏览器 说明 步骤 1)打开Microsoft Edge浏览器 2)点击"设置",如下图 3)点击"默 ...

  8. 国产Linux操作系统(深度系统)增加了微软Microsoft Edge浏览器(Linux版本)

    深度商店应用更新记录汇总(2021-11) 新增应用 序号 状态 应用分类 应用名称 应用类型 1 上架 网络应用 迪普SSLVPN Linux 2 上架 影像编辑 浩辰CAD 2022 Linux ...

  9. 解决Python+selenium 自动化测试打开浏览器自动关闭问题适用于(Chrome和Edge)

    option = webdriver.EdgeOptions() option.add_experimental_option("detach", True) driver = w ...

最新文章

  1. Java的CountDownLatch和CyclicBarrier的理解和区别
  2. linux命令冒号加叹号,Linux中的叹号命令
  3. scrapy爬取京东
  4. 献给母亲节的沙画,致此生最爱——母亲!
  5. BCD码与十进制的相互转换
  6. 数字基础设施开源操作系统欧拉全新发布
  7. vCard主题个人简历主题
  8. 数据库事物隔离级别用到的锁再次理解
  9. 如何配置struts+hibernate,基本使用方法
  10. ESXi 内存回收机制
  11. 【渝粤教育】国家开放大学2018年秋季 0275-22T内科护理学 参考试题
  12. MagicDraw-序列图
  13. 杨辉三角c语言实验收获体会,实验感想与心得体会简短
  14. Spring Cloud Open Feign系列【23】OAuth2FeignRequestInterceptor、BasicAuthRequestInterceptor拦截器解析
  15. 史上最全Android文件管理器技术方案细节
  16. AVX指令集是什么?(Advanced Vector Extensions 高级向量扩展)
  17. 计算机组成与结构——概述
  18. 你做的网页在哪些浏览器测试过,这些浏览器的内核分别是什么?
  19. 浏览器主页被劫持 解决方法
  20. 基于matlab的bp神经网络,基于MATLAB的BP神经网络建模及系统仿真 (1)

热门文章

  1. 交换机老化测试和性能测试方法收集
  2. linux新建用户,用户组,以及权限的分配(摘自博客园)
  3. 《程序员修炼之道》笔记(九)
  4. Sprint2团队贡献分
  5. 【JUC】JDK1.8源码分析之ConcurrentLinkedQueue(五)
  6. eclipse常用快捷键——非常实用
  7. SQL之用户自定义函数
  8. 思考设计模式在自助终端软件上的应用 ——Observer(观察着)模式
  9. 2017-2018-1 20155229 《信息安全系统设计基础》第十三周学习总结
  10. InnoDB引擎与MyIASM的一点总结