- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
浏览器工作原理浅析byGhostZhang
Thanks no QA CSSF 用户界面- 包括地址栏、后退/前进按钮、书签目录等,也就是你所看到的除了用来显示你所请求页面的主窗口之外的其他部分 浏览器引擎- 用来查询及操作渲染引擎的接口 渲染引擎- 用来显示请求的内容,例如,如果请求内容为html,它负责解析html及css,并将解析后的结果显示出来 网络- 用来完成网络调用,例如http请求,它具有平台无关的接口,可以在不同平台上工作 UI 后端- 用来绘制类似组合选择框及对话框等基本组件,具有不特定于某个平台的通用接口,底层使用操作系统的用户接口 JS解释器- 用来解释执行JS代码 数据存储- 属于持久层,浏览器需要在硬盘中保存类似cookie的各种数据,HTML5定义了web database技术,这是一种轻量级完整的客户端存储技术 * 解析器从词法分析器取出一个符号,匹配语法规则,如果成功则添加到则添加到解析树上;不成功则先保存该符号,并从词法分析器取下一个符号,直到内部保存的符号能匹配到一项语法。如果最终没有找到匹配的语法,则抛出异常。 * 解析器从词法分析器取出一个符号,匹配语法规则,如果成功则添加到则添加到解析树上;不成功则先保存该符号,并从词法分析器取下一个符号,直到内部保存的符号能匹配到一项语法。如果最终没有找到匹配的语法,则抛出异常。 * 文法 Grammars 解析基于文档依据的语法规则——文档的语言或格式。每种可被解析的格式必须具有由词汇及语法规则组成的特定的文法,称为上下文无关文法。人类语言不具有这一特性,因此不能被一般的解析技术所解析。 如果一个语言的文法是上下文无关的,则它可以用正则解析器来解析。 * 例子中的是哪一种解析类型? * 初始状态为“Data State”,当遇到“”字符,状态变为“Tag open state”,读取一个a-z的字符将产生一个开始标签符号,状态相应变为“Tag name state”,一直保持这个状态直到读取到“”,每个字符都附加到这个符号名上,例子中创建的是一个html符号。 当读取到“”,当前的符号就完成了,此时,状态回到“Data state”,“body”重复这一处理过程。到这里,html和body标签都识别出来了。现在,回到“Data state”,读取“Hello world”中的字符“H”将创建并识别出一个字符符号,这里会为“Hello world”中的每个字符生成一个字符符号。 这样直到遇到“/body”中的“”。现在,又回到了“Tag open state”,读取下一个字符“/”将创建一个闭合标签符号,并且状态转移到“Tag name state”,还是保持这一状态,直到遇到“”。然后,产生一个新的标签符号并回到“Data state”。后面的“/html”将和“/body”一样处理。 * 首先是“initial mode”,接收到html符号后将转换为“before html”模式,在这个模式中对这个符号进行再处理。此时,创建了一个HTMLHtmlElement元素,并将其附加到根Document对象上。 状态此时变为“before head”,接收到body符号时,即使这里没有head符号,也将自动创建一个HTMLHeadElement元素并附加到树上。 现在,转到“in head”模式,然后是“after head”。到这里,body符号会被再次处理,将创建一个HTMLBodyElement并插入到树中,同时,转移到“in body”模式。 然后,接收到字符串“Hello world”的字符符号,第一个字符将导致创建并插入一个text节点,其他字符将附加到该节点。 接收到body结束符号时,转移到“after body”模式,接着接收到html结束符号,这个符号意味着转移到了“after after body”模式,当接收到文件结束符时,整个解析过程结束。 * S表示空格 * * 例子:映射 p.error {color:red} class映射 标签映射 key p .error 例子:映射 P .error 例子:映射 webkit - 共享样式数据 Webkit - 共享样式数据 webkit节点引用样式对象(渲染样式),某些情况下,这些对象可以被节点间共享,这些节点需要是兄弟或是表兄弟节点,并且: 这些元素必须处于相同的鼠标状态(比如不能一个处于hover,而另一个不是) 不能有元素具有id 标签名必须匹配 class属性必须匹配 对应的属性必须相同 链接状态必须匹配 焦点状态必须匹配 不能有元素被属性选择器影响 元素不能有行内样式属性 不能有生效的兄弟选择器,webcore在任何兄弟选择器相遇时只是简单的抛出一个全局转换,并且在它们显示时使整个文档的样式共享失效,这些包括+
您可能关注的文档
最近下载
- 皮带硫化知识.doc VIP
- [紧固件]常用紧固件选型设计.pdf VIP
- 高速公路钢筋混凝土盖板涵首件施工方案.doc VIP
- 解读《GB_Z 44526 - 2024无损检测 操作能力鉴定》全面解读.docx VIP
- 本田GX630-660-690发动机维修手册.pdf VIP
- 2025四川成都东部集团有限公司及下属企业招聘产业招商等岗位94人笔试备考题库及答案解析.docx VIP
- (全国通用)01-2023年秋季高一入学分班考试模拟卷地理试题(解析版).docx VIP
- 20210129-中信建投-因子深度研究系列:高频订单失衡及价差因子.pdf VIP
- 发电厂检修规程.docx VIP
- 2024-2025学年度第二学期期末综合素质调研七年级英语试题(含听力材料及答案).docx
文档评论(0)