顯示具有 JavaScript 標籤的文章。 顯示所有文章
顯示具有 JavaScript 標籤的文章。 顯示所有文章
就是愛分享


一個Ajax互動過程是從一個被稱為XMLHttpRequest的JavaScript物件開始的,再透過JavaScript使用者端腳本,以非同步互動的方式來執行HTTP請求,並對伺服器回應的XML資料進行解析,然後轉換為HTML格式並輔以CSS來呈現在使用者端瀏覽器中。Spry組件(widget):這是一些預設的常用使用者介面元件,可以使用CSS來自訂這些組件,然後將其新增到網頁中。使用Dreamweaver CS4就可以將多個Spry組件新增到頁面中,而這些組件包括XML驅動的清單和表格、折疊式組件、索引標籤式介面,以及具有驗證功能的表單元素。
在Ajax互動過程中,主要包含以下這幾個處理步驟:
  1. 使用者透過使用者端瀏覽器在網頁上執行某個操作,例如單擊按鈕、移動滑鼠或從鍵盤上按下某個按鍵等。
  2. 由於使用者的操作,網頁上發生相對應的DHTML事件。
  3. 透過回應這個DHTML事件,執行相對應的使用者端JavaScript函數,在執行過程中建立一個XMLHttpRequest物件實體,並註冊一個回呼函數,再透過使用XMLHttpRequest物件,以非同步的方式向伺服器端發送HTTP請求,此時可以透過Web頁面繼續與使用者的介面互動,而避免瀏覽器暫停並等待伺服器的回應。
  4. 當伺服器端收到XMLHttpRequest物件的請求時,便可透過ASP、JSP、PHP、ASP.NET等伺服器端技術,對使用者端請求的參數進行解析,然後執行適當的應用邏輯並將回應序列化到XML資料中。
  5. Web伺服器會以標準的XML格式,將回應的資料傳遞給Ajax。
  6. 當伺服器之回應到達使用者端時,JavaScript的回呼函數會被呼叫,並對XML資料進行解析和處理,再透過CSS和DOM實現頁面的局部更新。
  7. 使用者將透過使用者端瀏覽器看到頁面更新。

流行的Ajax框架
JavaScript是Ajax技術的一個主要組成部分,在開發Ajax應用程式的過程中,往往需要編寫大量的JavaScript程式碼。為了減少JavaScript編碼量,並簡化Ajax應用程式的開發任務,目前出現了許多出色的Ajax開發框架。

1.Dojo框架
Dojo是麻省理工學院(Massachusetts institute of Technology,MIT)許可下的一個開發原始碼專案,由Alex Russell和Dylan Schiemann等人在2004年發起,其設計目標是解決DHTML開發中長期困擾人們的一些問題。Dojo是一個JavaScript使用者介面開發工具包,使得編寫JavaScript程式碼更容易,構建大型介面更快速,部署動態的使用者介面更方便。Dojo的基礎是一個小型的函式庫檔案,該檔案包括了Ajax、事件處理、頁面特效及語言工具等。在這個基礎上,在Dojo核心中還新增了一些高品質的工具,例如拖放工具、Ajax擴展表單工具、I/O工具、Json-RPC、國際化及回呼方法等。
可以從http://www.dojotoolkit.org/下載

2.Prototype框架
Prototype是一個基礎性的Ajax開發框架,其檔案尺寸小,但功能很實用,適合用於開發中小型Web應用程式。Prototype提供了跨瀏覽器的相容性支援,對一些JavaScript內建物件進行了擴展,還新增了許多自訂物件,Ajax支援功能也是自訂物件中實現的。
可以從http://www.prototypejs.org/下載

3.script.aculo.us框架
script.aculo.us也是麻省理工學院許可下的一個開發原始碼專案,構建於Prototype框架之上的JavaScript函式庫。script.aculo.us框架的設計目標是幫助開發人員快速建立可展示和操作頁面的各種特效。該框架擁有強大的動畫功能,並且支援各種DOM操作和拖放操作,也提供了一些控制項和小元件,例如自動完成、滑動方塊和原地編輯等。

由於script.aculo.us是一個基於Prototype的框架,因此,使用script.aculo.us框架之前,必須先導入Prototype框架的JavaScript函式庫,然後再導入script.aculo.us的JavaScript函式庫。
可以從http://script.aculo.us/downloads/下載

4.Spry框架
Spry框架是Adobe公司開發,該框架實際上是一個JavaScript和CSS函式庫,可用來建構向網站存取者提供更豐富體驗的Ajax網頁。使用Spry框架就可以顯示XML資料,並建立用來顯示動態資料的互動式頁面元素,而無需更新整個頁面。只要有了Spry框架,就可以使用HTML、CSS和極少量的JavaScript程式碼,把XML資料合併到HTML文件中,也可以建立組件(例如折疊組件和選單欄位)或者在各種頁面元素中新增不同種類的效果。

Spry在設計上與其他的Ajax框架不同,Spry框架的標籤非常簡單,便於那些具有HTML、CSS和JavaScript基礎知識的使用者使用,而且也可以為設計人員和開發人員使用,因為實際上它有99%的部份都是HTML。更為可喜的是,在Dreamweaver CS3之後就提供了對Spry框架的支援。透過Dreamweaver CS3/CS4,就可以使用Spry框架進行動態使用者介面的視覺化設計、開發和部署。

Spry框架主要是透過以下這三種方式來提供對Ajax技術的支援。
  • Spry資料:Spry資料集是透過JavaScript建立的一個物件。只需要在網頁中編寫幾行程式碼,就可以建立一個Spry資料集物件並從指定的資料來源(例如XML文件、HTML表格及JSON物件等)非同步載入資料,然後在網頁上透過Spry區域來顯示資料。
  • Spry組件(widget):這是一些預設的常用使用者介面元件,可以使用CSS來自訂這些組件,然後將其新增到網頁中。使用Dreamweaver CS4就可以將多個Spry組件新增到頁面中,而這些組件包括XML驅動的清單和表格、折疊式組件、索引標籤式介面,以及具有驗證功能的表單元素。
  • Spry效果:這是一種提高網站外觀吸引力的簡單方法,這種效果幾乎可以套用於HTML頁面上的所有元素。透過新增Spry效果就可以放大、縮小、漸隱和反白顯示元素,並在一段時間內已可視方式更改頁面元素,以及執行更多的操作。

5.ASP.NET Ajax框架
ASP.NET Ajax框架是由Microsoft公司所開發,其主要設計目標是對現有的ASP.NET伺服器端模型進行擴展,讓它可以產生實現豐富使用者端的JavaScript程式碼,並透過對ASP.NET增加使用者端程式設計模型來簡化使用者端程式設計。
可以從http://www.asp.net/ajax/downloads/下載。

閱讀全文...
標籤: 0 意見 | | edit post
就是愛分享
多數傳統網頁執行的主要問題點在於網頁的回應時間過長,使用者按下網頁上的超連結或是按鍵之後,往往要等待數秒鐘,甚至10幾秒才能夠看到網頁回傳的處理結果,更糟的是使用者有可能需要執行多次的重新整理才能看到所需要的答案,這種考驗使用者耐心的Click and Wait式的操作感覺,因為無法像視窗應用程式一樣提供敏捷的操作反應,是造成Ajax風格的網頁興起的主要推手。

新一代的Ajax(Asynchronous Javascript and XML)網頁開發技術是一種Rich Client網頁解決方案,Ajax網頁會善用用戶端網頁的Javascript技術,透過XmlHttp傳輸協定和網際網路上的伺服器進行溝通,再使用XML技術解析伺服器傳回的執行結果,最後再利用DHTML、DOM(Document Object Model),和CSS(Cascading Style Sheet)等技術將伺服器傳回的結果顯示到網頁上供使用者檢視,是一種結合用戶端和伺服器的技術,其優點是可以只更新網頁的部份內容,減少使用者等待的時間,提升使用者的工作效率,同時也可以降低網頁對伺服器頻寬的需求,是一個頗為優良的解決方案。

傳統的網頁單純依靠HTTP協定進行用戶端和伺服器之間的運作,用戶端發出需求,然後等待伺服器傳回處理結果,取得伺服器執行結果後再更新整個網頁顯示的內容,其架構如圖:

Ajax網頁的架構和傳統的網頁不同地方在於在用戶端執行的網頁可以透過Javascript搭配XmlHttp協定,以不引發網頁PostBack的方式發出需求,呼叫伺服器上的XML Web Service服務或是網頁提供的功能,再以較有效率的方式更新網頁的部份內容,降低使用者對等待的不耐,提升使用者對網頁操作的感覺,其架構如圖:

體驗Ajax風格的網頁
PageFlakes.com
www.bing.com/maps
Maps.Google.com
Maps.Yahoo.com
DeepEarth(Silverlight網頁)
Google Suggest
G-Mail
Amazon Diamond Search

開發Ajax風格的網頁
‧Hard Code
Javascript + DHTML + DOM + CSS + XmlHttp + XML

Javascript
類似C語言語法,可以用來控制HTML元素,改變網頁顯示的內容或樣式,或是透過XmlHttp通訊協定呼叫網頁或XML Web Service服務提供的功能。

DHTML(Dynamic HTML)、DOM(Document Object Model)和CSS(Cascading Style Sheet)
利用Javascript控制網頁中的物件顯示的資料和效果的技術稱為DHTML。網頁定義的文件模型(DOM)負責將網頁中的物件建構成物件階層,協助網頁執行尋找物件的動作,以便更新物件的內容或樣式,而CSS樣式則是用來定義網頁中物件的樣式之語法。

XmlHttp(Extensible Markup Language Hypertext Transfer Protocol)
支援使用HTTP通訊協定在網際網路傳輸XML、HTML和二進位資料的通訊協定,可以利用網頁中的Javascript語法啟動執行傳送需求給伺服器的動作。XML(Extensible Markup Language)文件處理

XML是一種可以允許自訂的可擴充標示語言,Ajax網頁必須有能力處理伺服器傳回的XML文件,並從自伺服器取得XML文件中取出所需要的結果,再利用Javascript、DOM和CSS技術更新部分網頁顯示的內容或效果。

‧Client Script Callback技術

‧ASP.NET 2.0或更高版本的做法,使用ClientScriptManager類別和ICallbackEventHandler介面

‧Microsoft ASP.NET Ajax Extension + Ajax Control Toolkit

製作Ajax風格網頁的缺點
‧偵錯不易
‧易出錯Weak type
善用http://www.w3schools.com
‧維護不易
‧必須在不同的瀏覽器上進行測試
‧安全性 - IE瀏覽器必須可以進行Active Scripting
‧沒有Framework

閱讀全文...
標籤: 0 意見 | | edit post