字體:小 中 大 | |
|
|
2009/11/18 11:20:08瀏覽572|回應0|推薦0 | |
Ajax Anywhere的官方站點是 http://ajaxanywhere.sourceforge.net,你可以從官方下載到最新的jar開發包、src源碼包,以及一個demo演示包。 AjaxAnywhere使用「分區刷新」的概念,其工作原理如下。 (1)使用AjaxAnywhere自定義標籤庫將一個Web頁面劃分為幾個可重載的區域(reload-capable zones)。 (2)使用AjaxAnywhere Javascript 應用編程接口(API)替代傳統通信機制下表單提交方式。 (3)當請求在服務器端處理的時候,決定那些頁面區域可以刷新(refresh)。這個過程可以使用基於客戶端的Javascript或者基於服務器端的AjaxAnywhere應用編程接口(API)。 (4)在服務器端,AjaxAnywhere會生成包含即將更新的HTML代碼的XML文檔。 (5)在客戶端,AjaxAnywhere Javascript接受這個XML文檔,解析文檔,並更新指定的頁面區域。 採取這樣的設計概念,可以儘可能地降低Javascript代碼量,降低Ajax的開發門檻。 — 無須掌握和開發那麼多的Javascript代碼。 由於缺乏被廣泛接受的命名習慣、格式化規則和模式,使得Javascript編碼相對Java/JSP複雜許多,尤其在瀏覽器兼容性方面缺乏有效的調試和單元測試手段。使用AjaxAnywhere可以擺脫這些Javascript的複雜性。 — 方便集成。 使用AjaxAnywhere無須改變底層的應用程式代碼。 — 降低技術風險。 可以隨時在傳統的通信機制和Ajax之間切換,允許Web應用程式同時支持兩種通信機制。 — 平滑的兼容性。 再也不用在使用Ajax還是傳統的交互方式間搖擺了,使用Ajax AnyWhere的Web應用程式可以兼容兩種請求方式。 AjaxAnywhere的客戶端腳本經過了IE,Mozilla Firefox和Opera等瀏覽器的兼容性測試,能夠最大程度地保證代碼的瀏覽器兼容性。 另外,還需要注意的AjaxAnywhere特性是,Ajax接收到的Ajax代碼採用特殊的方式處理。AjaxAnywhere通過eval("")的方式執行這些Javascript代碼,也可以將所定義的Javascript函數保存在適當的上下文(Context)中。不過,在允許Ajax方式重載的頁面區域,不允許執行document.write()之類的Javascript語句。 允許重載的區域可能在提交請求之前就確定了,這種情況下需要重載客戶端的AjaxAnywhere.getZonesToReload()的Javascript函數,不需要額外的服務器邏輯處理。 如果希望AjaxAnywhere重載整個文檔,則重載後的AjaxAnywhere.getZonesToReload()函數必須返回「document.all」字符串,也可以在服務器端調用AAUtils.setRefreshAll(true)刷新整個頁面。 相應的,Ajax請求中的response.sendRedirect()會被轉化成Javascript代碼的location.replace()命令。 |
|
( 興趣嗜好|電腦3C ) |