優勢: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引擎在客戶端運行,承擔了一部分原本由服務器承擔的工做,從而減小了大用戶量下的服務器負載。