优势:html
弊端:前端
AJAX 是一种在无需从新加载整个网页的状况下,可以更新部分网页的技术。
AJAX = 异步 JavaScript 和 XML。
AJAX 是一种用于建立快速动态网页的技术。
经过在后台与服务器进行少许数据交换,AJAX 可使网页实现异步更新。这意味着能够在不从新加载整个网页的状况下,对网页的某部分进行更新。html5
同步是指:发送方发出数据后,等接收方发回响应之后才发下一个数据包的通信方式。
用户填写全部信息后,提交给服务器,等待服务器的回应(检验数据),是一次性的。信息错误又要从新填写!web
异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通信方式。当用户填写完一条信息后,该信息会自动向服务器提交,而后服务器响应客户端,在此过程当中,用户依然在填写表格的信息,即向服务器请求屡次,节省了用户的时间,提升了用户的体验。ajax
同步请求:chrome
客户端请求(等待)->服务端处理->响应->页面载入
(缺乏对象:XMLhttpRequest)
这时候若是有错误,只能再次发送请求,再次等待canvas
异步请求:浏览器
好比当你填写邮箱地址的时候,页面当时就把邮箱地址发送到了服务器(也就是页面发送了一个请求),服
务器作处理和响应,获得你的邮箱地址填写重复了,把响应结果发给页面,在这个过程当中你仍然能够填写其
他内容,这时候服务器会提示你有重复的邮箱地址,在页面上的表现只是邮箱地址旁别加了一行字或者把整
个文本框标红,并无从新刷你的页面,全部的填写错误会实时的显示出来,你也会实时的更正。服务器
这个过程当中,你会有整个页面的刷新,也不会有整个页面的提交和等待,最后提交,一切都会搞定的
总结:页面上的操做和服务器端的操做互相之间不会形成阻塞session
=====创建异步请求过程的4个步骤:============
a:new一个XHR对象
b:调用open方法
c:send一些数据
d:对过程进行监听,来知道服务器是否是正确地作出了响应,接着能够作一些事情
闭包就是可以读取其余函数内部变量的函数
做用 :一个是前面提到的能够读取函数内部的变量,另外一个就是让这些变量的值始终保持在内存中。
在一个对象上触发某类事件(好比单击onclick事件),若是此对象定义了此事件的处理程序,那么此事件
就会调用这个处理程序,若是没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父
级对象传播,从里到外,直至它被处理(父级对象全部同类事件都将被激活),或者它到达了对象层次的最
顶层,即document对象(有些浏览器是window)。
打个比方说:你在地方法院要上诉一件案子,若是地方没有处理此类案件的法院,地方相关部门会帮你继续
往上级法院上诉,好比从市级到省级,直至到中央法院,最终使你的案件得以处理。
HTML5如今已经不是SGML的子集,主要是关于图像、位置、存储、地理定位等功能的增长。
新特性有:
绘画canvas元素 用于媒介回放的 video 和 audio 元素 本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失; sessionStorage 的数据在浏览器关闭后自动删除 语意化更好的内容元素,好比 article、footer、header、nav、section 表单控件,calendar、date、time、email、url、search CSS3实现圆角、,阴影、对文字加特效,增长了更多的CSS选择器,多背景rgba,新的技术有webworker、websockt、Geolocation。 移除的元素包括: 纯表现的元素 basefont、big、center、font、 s、strike、tt、u; 对可用性产生负面影响的元素 frame、frameset、noframes。
浏览器兼容H5问题解决方案:
IE8/IE7/IE6支持经过document.createElement方法产生的标签,能够利用这一特性让这些浏览器支持HTML5新标签,浏览器支持新标签后,还须要添加标签默认的样式,固然最好的方式是直接使用成熟的框架: <!--[if lt IE 9]> <script> src="http://html5shim.googlecode.com/svn/trunk/html5.js"</script> <![endif]-->
把“未采用CSS,大量使用HTML进行定位、布局,或者虽然已经采用CSS,可是未遵循HTML结构化标准的站点”变成“让标记回归标记的本来意义。经过在HTML文档中使用结构化的标记以及用CSS控制页面表现,使页面的实际内容与它们呈现的格式相分离的站点。”的过程就是网站重构
网站为何要进行重构(网站重构的好处)
a、使页面加载得更快速;
b、下降带宽带来的费用,节约成本;
c、让你在修改设计时更有效率而代价更低;
d、帮助你的整个站点保持视觉的一致性;
e、更利于搜索引擎的检索(符合SEO的规范);
f、令站点更容易被各类浏览器和用户
编写 CSS、让页面结构更合理化,提高用户体验,实现良好的页面效果和提高性能。
最准确的网页设计思路是把网页分红三个层次,即:结构层、表示层、行为层。
网页的结构层(structural layer)由HTML或XHTML之类的标记语言负责建立。标签,也就是那些出如今尖括号里的单词,对网页内容的语义含义作出了描述,但这些标签不包含任何关于如何显示有关内容的信息。例如,P 标签表达了这样一种语义:“这是一个文本段。”
网页的表示层(presentation layer)由CSS负责建立。 CSS对“如何显示有关内容”的问题作出了回答。
网页的行为层(behavior layer)负责回答“内容应该如何对事件作出反应”这一问题。这是JavaScript语言和DOM主宰的领域。
答案:AJAX是“Asynchronous JavaScript and XML”的缩写。他是指一种建立交互式网页应用的网页开发技术。Ajax包含下列技术:基于web标准(standards-based presentation)XHTML+CSS的表示;使用 DOM(Document Object Model)进行动态显示及交互;使用 XML 和 XSLT 进行数据交换及相关操做;使用 XMLHttpRequest 进行异步数据查询、检索;使用 JavaScript 将全部的东西绑定在一块儿。为何要用ajax:Ajax应用程序的优点在于:经过异步模式,提高了用户体验优化了浏览器和服务器之间的传输,减小没必要要的数据往返,减小了带宽占用Ajax引擎在客户端运行,承担了一部分原本由服务器承担的工做,从而减小了大用户量下的服务器负载。