重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
前端web页面的渲染流程
创新互联专注于萝北网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供萝北营销型网站建设,萝北网站制作、萝北网页设计、萝北网站官网定制、微信平台小程序开发服务,打造萝北网络公司原创品牌,更为您提供萝北网站排名全网营销落地服务。
1、构建DOM与 CSSOM
浏览器通过http请求,获得静态资源后,进行页面渲染时,构建dom与cssom是同时进行的。
html 构建dom
构建dom时,按照html页面中标签的顺序,由上向下渲染。
css 构建cssom
html构建cssom的同时,将css样式构建为cssom
2、渲染树 Render Tree
该过程中DOM与CSSOM合并,生成渲染树,树中包含了渲染页面所需要的节点。
3、布局Layout
计算出每个节点对象的精确位置和大小
4、绘制Paint
使用上面准备好的节点信息,绘制出页面
javascript
我们看到,在构建DOM和CSSOM阶段,会有javascript进入
1、当浏览器遇到一个 script 标记时,DOM 构建将暂停,直至脚本完成执行。
2、JavaScript 可以查询和修改 DOM 与 CSSOM。
3、JavaScript 执行将暂停,直至 CSSOM 就绪。
————————————————
原文链接:
在JsRender中,是通过调用方法render()来渲染模板的。
JsRender中,有三种方式调用render()方法来渲染模板。
1) 如果已经存在一个template的对象,则可以使用template.render(...)
[html] view plain copy print?
tabletbody id="person"/tbody/table
script id="personTmpl" type="text/x-jsrender"
tr
td
{{:name}}
/td
/tr
/script
[javascript] view plain copy print?
var myTmpl = $.templates("#personTmpl");
var person = {
name: "Adriana"
};
var html = myTmpl.render(person);
$("#person").html(html);
2) 如果已经有一个通过名字注册的template,名字为("myTmpl"),则可以使用$.render.myTmpl(...)调用。
[html] view plain copy print?
tabletbody id="person"/tbody/table
script id="personTemplate" type="text/x-jsrender"
tr
td
{{:name}}
/td
/tr
/script
[javascript] view plain copy print?
$.templates("personTmpl", "#personTemplate");
var person = {
name: "Adriana"
};
var html = $.render.personTmpl(person);
$("#person").html(html);
3)如果该template是在一个script脚本块中定义的,并且该脚本块使用selector“#myTmpl",则同样可以使用$("#myTmpl").render(...)调用。
[html] view plain copy print?
tabletbody id="person"/tbody/table
script id="personTemplate" type="text/x-jsrender"
tr
td
{{:name}}
/td
/tr
/script
[javascript] view plain copy print?
var person = {
name: "Adriana"
};
var html = $("#personTemplate").render(person);
$("#person").html(html);
render是渲染的意思。
res.render(file,option)是express中专门渲染视图用的,首先你要在你的app.js或者index.js中设置一下渲染引擎,比如html,jade,handlebars(我自己使用的),mustache等。然后将视图模板的文件位置放入file,将传入的模板数据放入option对象中,模板引擎就能自己渲染出视图。给你推荐一个npm模块,express-handlebars,能很快搭建一个项目,你实践过,就能明白res.render.
而渲染,就是这样一个过程,浏览器根据页面的html代码、css定义、javascript脚本的操作,在浏览器上按照一定的规范(传说中的 DOCTYPE )显示出相应的内容。
举个最简单的例子:
b这个是粗体显示/b
浏览器根据上面的代码在浏览器上面显示出粗体的文字,这个过程就叫渲染
JavaScript是一种基于对象和事件驱动并具有安全性能的脚本语言。
Javascript脚本语言同其他语言一样,有它自身的基本数据类型,表达式和算术运算符及程序的基本程序框架。Javascript提供了四种基本的数据类型和两种特殊数据类型用来处理数据和文字。而变量提供存放信息的地方,表达式则可以完成较复杂的信息处理。
JavaScript与Java的不同点
Java代码必须编译才能执行,而JavaScript不需编译,只需浏览器解释执行。
Java和JavaScript虽然都可以在服务器与客户端执行,但Java多运行于服务器,而JavaScript多运行于客户端。
JavaScript使用的是松散型的数据类型,而Java则使用的是严谨的数据类型。
是。有javascript的网页仍是静态网页,不是动态网页。不是网页上有动态的元素才是动态网页。假如一个网页有javascript花花绿绿的,它仍是静态网页,所谓的静态、动态是指能否与数据库产生交互。只有PHP、asp、JSP这些网页,才是动态网页。静态网页与动态网页的区别,动态网页以.asp、.jsp、.php、.perl、.cgi等形式为后缀,并且在动态网页网址中有一个标志性的符号——“?”,静态网页:以.htm、.html、.shtml、.xml等形式为后缀。
在服务器端运行的程序、网页、组件,属于动态网页,它们会随不同客户、不同时间,返回不同的网页,例如HTML, ASP、PHP、JSP、ASP.net、CGI等。静态网页运行于客户端的程序、网页、插件、组件,属于静态网页,下面列出的四种情况都不一定是动态页面,带有音频和视频,带有flash动画,带有css动画,带有javascript动画。千锋教育截止目前已在北京、深圳、上海、广州、郑州、成都、大连等20余个核心城市建立直营校区,服务近20万学员、近千所高校和数万家企业。