当前位置: 首页 > news >正文

万站网做网站公司找哪家公司

万站网,做网站公司找哪家公司,如何做网站容易收录,网站支付怎么做由于本人对http协议以及dns对url的解析问题并不了解#xff0c;所以这里之探讨url请求加载到浏览器端时#xff0c;浏览器对html的解析到呈现过程#xff0c;后来经过几位道友分享#xff0c;整理了一下url解析的过程#xff0c;如下#xff1a; 用户输入url地址#x…由于本人对http协议以及dns对url的解析问题并不了解所以这里之探讨url请求加载到浏览器端时浏览器对html的解析到呈现过程后来经过几位道友分享整理了一下url解析的过程如下 用户输入url地址浏览器根据域名寻找IP地址 浏览器向服务器发送http请求如果服务器段返回以301之类的重定向浏览器根据相应头中的location再次发送请求 服务器端接受请求处理请求生成html代码返回给浏览器这时的html页面代码可能是经过压缩的 浏览器接收服务器响应结果如果有压缩则首先进行解压处理紧接着就是页面解析渲染 解析渲染该过程主要分为以下步骤 解析HTML构建DOM树DOM树与CSS样式进行附着构造呈现树布局绘制 解析与构建DOM树 前两步我们放在一起讨论浏览器的实际工作也是将他们放在一起进行的。对于HTML浏览器有专门的html解析器来解析HTML并在解析的过程中构建DOM树。在这里我们讨论两种DOM元素的解析即样式link、style与脚本文件script。由于浏览器采用自上而下的方式解析在遇到这两种元素时都会阻塞浏览器的解析直到外部资源加载并解析或执行完毕后才会继续向下解析html。对于样式与脚本的先后顺序同样也会影响到浏览器的解析过程究其原因主要在于script脚本执行过程中可能会修改html界面如document.write函数DOM节点的CSS样式会影响js的执行结果。在我的测试中得到以下四条结论 1外部样式会阻塞后续脚本执行直到外部样式加载并解析完毕。 !DOCTYPE html html headmeta charsetutf-8titleJS Bin/titlescriptvar start new Date;/scriptlink hrefhttp://udacity-crp.herokuapp.com/style.css?rtt2 relstylesheet/headbodyspan idresult/spanscriptvar end new Date;document.getElementById(result).innerHTML (end-start);/script /body /html2外部样式不会阻塞后续外部脚本的加载但会阻塞外部脚本的执行。 !DOCTYPE html html headmeta charsetutf-8titleJS Bin/titlescriptvar start new Date;/scriptlink hrefhttp://udacity-crp.herokuapp.com/style.css?rtt2 relstylesheet/headbodytestscript srchttp://udacity-crp.herokuapp.com/time.js?rtt1a/scriptdiv idresult/divscriptvar end new Date;document.getElementById(result).innerHTML end-start;/script/body /html主页代码var loadTime document.createElement(div); loadTime.innerText document.currentScript.src executed window.performance.now(); loadTime.style.color blue; document.body.appendChild(loadTime);从瀑布图中我们可以看到外部脚本与外部样式是并行加载但直到外部样式加载完毕外部脚本才开始执行   3如果后续外部脚本含有async属性IE下为defer则外部样式不会阻塞该脚本的加载与执行 !DOCTYPE html html headmeta charsetutf-8titleJS Bin/titlescriptvar start new Date;/scriptlink hrefhttp://udacity-crp.herokuapp.com/style.css?rtt2 relstylesheet/headbodytestscript srchttp://udacity-crp.herokuapp.com/time.js?rtt1a async/scriptdiv idresult/divscriptvar end new Date;document.getElementById(result).innerHTML end-start;/script/body /html从瀑布图中可以看到外部脚本的加载与执行并不受link的阻塞 4对于动态创建的link标签不会阻塞其后动态创建的script的加载与执行不管script标签是否具有async属性但对于其他非动态创建的script以上三条结论仍适用 !DOCTYPE html html headmeta charsetutf-8titleJS Bin/titlescriptvar start new Date;/script/headbodytestscript var link document.createElement(link);link.href http://udacity-crp.herokuapp.com/style.css?rtt2;link.rel stylesheet;document.head.appendChild(link);var script document.createElement(script);script.src http://udacity-crp.herokuapp.com/time.js?rtt1a;document.head.appendChild(script);/scriptdiv idresult/divscriptvar end new Date;document.getElementById(result).innerHTML end-start;/script/body /html这是最终页面结构   通过瀑布图与页面结果可以看到动态创建的外部脚本并未受link的阻塞。    link或style标签都会被解析成DOM节点。浏览器对于样式表还会生成CSSStyleSheet对象(C代码)他集成子CSSStyle指标是样式表对象而不管该对象来自于Style还是link。该对象主要包含以下几个重要属性和方法 CSSRules 即css样式代码 type 表示样式表类型的字符串。对CSS样式表而言这个字符串是“type/css”。 href 通过link生成的为样式链接否则为undefined insertRule(rule,index)向cssRules集合中指定的位置插入rule字符串。IE不支持这个方法但支持一个类似的addRule()方法。 deleteRule(index)删除cssRules集合中指定的位置的规则。IE不支持这个方法但支持一个类似的removeRule()方法。 文档中对于所有的样式表集合可以通过document.styleSheets来访问。同时对于style或link DOM元素可以通过element.sheet来访问CSSStyleSheet对象IE中则通过element.styleSheet来访问。 html解析完毕DOM树创建完成后DOMContentLoaded事件即触发这时候可以用过script来操作DOM节点。 构建呈现树   HTML解析完毕后开始构建呈现树RenderTree这一步的主要工作在于将css样式应用到DOM节点上WebKit内核将这一过程称为附着其他浏览器有不同的概念。对前端工程师而言这个过程会涉及到CSS层叠问题。 首先将根据样式重要性排序由低到高依次为 浏览器声明用户普通声明作者普通声明作者重要声明用户重要声明 对于同一重要级别则是根据CSS选择符的特指度来判定优先级一条样式声明的特指度由以下四个部分决定S-I-C-E 声明来自内联的style属性则 S1声明中含有id属性则 I1声明中含有类、伪类、属性选择器则 C1生命中含有元素、伪元素选择器则 E1 特指度的比较类似于两个字符串之间比较大小。 呈现树的每一个节点即为与其相对应的DOM节点的CSS框框的类型与DOM节点的display属性有关block元素生成block框inline元素生成inline框。每一个呈现树节点都有与之相对应的DOM节点但DOM节点不一定有与之相对应的呈现树节点比如display属性为none的DOM节点而且呈现树节点在呈现树中的位置与他们在DOM树中的位置不一定相同比如float与绝对定位元素。 下图为呈现树与其相对应的DOM树节点    布局 呈现树构造完成后浏览器便进行布局处理及计算每个呈现树节点的大小和位置信息。有道友可能要问前面已将样式附着到DOM节点上不是已经有了样式信息为何还要计算大小。这里可以这样理解以上包含大小的样式信息只是存在内存里并没有实际使用浏览器要根据窗口的实际大小来处理呈现树节点的实际显示大小和位置比如对于margin为auto的处理。 布局是一个递归过程从跟呈现节点开始递归遍历子节点计算集合几何信息。具体过程还是比较复杂偶也不甚了解道友们还是查阅其他资料吧。 绘制 布局完成后便是将呈现树绘制出来显示在屏幕上。对于每一个呈现树节点来说主要绘制顺序如下 背景颜色背景图片边框子呈现树节点轮廓
http://www.zqtcl.cn/news/550663/

相关文章:

  • 百度网站是什么阿里云免费网站建设
  • 网站建设平台源码攻击网站步骤
  • 注册了网站之后怎么设计深圳开发app
  • 国外网站搭建平台移动互联网公司
  • 做网络私活的网站网站开发的人
  • 数据分析网站开发四川手机网站设计方案
  • 什么是网络营销的方法莱州网站建设关键字排名优化网络托管微信代运营
  • 雅虎网站收录提交入口怎么看网站谁做的
  • 青浦专业做网站免费网站软件大全
  • joomla 网站图标六安市城市建设档案馆网站
  • 郑州 公司网站制作win10 wordpress安装
  • html5网站有哪些网站建设部分费用会计科目
  • 网站域名备案 更改吗深圳新站优化
  • 房产网站门户系统免费网站免费无遮挡
  • 用国外网站 图片做自媒体seo诊断a5
  • 广州市南沙建设局网站优改网logo设计
  • 网站建设亿玛酷知名公司网站首页如何做
  • 教育网站 php网络服务公司
  • net域名做网站怎么样建站公司 转型经验
  • 赣州网站建设哪家公司好上海市建设安全协会网站
  • 网站排名优化软件有哪些西宁网站建设官网
  • 支付宝手机网站签约迪庆公司网站开发方法
  • 唐山网站关键词优化网站开发公司推荐
  • 福建响应式网站制作市工商局网站建设情况
  • 深圳网站运营托管罗伯特清崎说的网络营销是什么
  • 太仓市质监站网址百度关键字推广费用
  • 为您打造高端品牌网站pageadmin wordpress
  • 中小型网站建设的基本流程简约网站欣赏
  • 设备上哪个网站做外贸推广网络服务类型及其所采用的网络协议
  • 学习前端开发的网站动漫设计属于什么大类