成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

刷新網站:用Ajax構建更好的單頁面體驗

譯文
開發 前端 后端
自從“Ajax”這個字眼在2005年嶄露頭角以來,它就改變了互聯網的面貌。應用程序變得交互性更強了;桌面模式向Web遷移,而且在這個過程中不斷嬗變;Web作為一種平臺已開始流行開來。

自從“Ajax”這個字眼在2005年嶄露頭角以來,它就改變了互聯網的面貌。應用程序變得交互性更強了;桌面模式向Web遷移,而且在這個過程中不斷嬗變;Web作為一種平臺已開始流行開來。

這個改變并沒有影響網站的基本運作方式。當然,代碼模塊以異步方式裝入;一些網站使用Ajax來裝入通知;你在滾動瀏覽頁面時,Facebook Like按鈕神奇地出現。典型的博客網站或宣傳手冊式網站(brochure site)提供了基于頁面的體驗;既然Web從本質上來說是一種基于頁面的介質,為什么將事情搞得過于復雜呢?

但是移動應用程序的普及促使基于頁面的交互邁上了一個新的臺階。導航區域待在原地不動時,屏幕可以順暢地滑入滑出,不但提供令人愉悅的體驗,還保留了上下文,進一步證實用戶在信息層次體系中的位置。用戶看到的是裝入的動畫,而不是屏幕與屏幕之間的一片空白。

不刷新網站

也許現在我們是時候為桌面Web采用這種方法了:不刷新網站(no-fresh website)。哪怕裝入速度很快,整頁刷新還是會影響上下文。借助Ajax,我們可以在裝入新內容的同時,讓導航元素待在原地。我們可以通過進一步證實我們如何在網站的信息層次體系中穿梭的動畫,裝入新內容。而即使有了動畫,這類操作也可能讓人覺得比較輕便,因而鼓勵訪客繼續導航——尤其是由于Back(返回)操作觸手可及。

誠然,這樣一種網站比傳統網站需要編寫多得多的代碼。但是這些代碼有許多已經編好了:jQTouch和jQuery Mobile已經可以拿來多個HTML頁面,創建動畫的、基于Ajax的體驗——總的來說,沒有額外的JavaScript代碼。它們為對桌面友好的框架提供了***的基礎。

我們不妨稱之為page.js。請恕我保留pagejs.com(https://github.com/schvenk/page.js),將它指向全新的GitHub存儲庫,那樣我們可以馬上開始對它進行改動了。下面是其工作機理:

你可以按今天的方式來編寫網站的HTML,為針對特定標記的頁面元素另外添加一點信息。(jQuery Mobile使用HTML5數據屬性,如<div data-role="content">,以定義頁面上的不同區域。)

網站***裝入時,page.js讀取和修改你的HTML,使用可以移動的滾動元素,將隨時準備滑出屏幕的那部分頁面內容包裝起來,并且相應調整你的內部鏈接。(如果性能至關重要,這可能出現在服務器端,緩存起來。)

訪客點擊內部鏈接時,裝入動畫在屏幕上顯示的同時,新頁面通過Ajax裝入。當前頁面滑出屏幕,新頁面滑入屏幕。視情況而定,導航區域待在原地不動。

瀏覽器的Back/Forward(返回/前進)歷史記錄使用URL的哈希部分(#后面的一切內容)保留下來。 點擊Back按鈕,之前的頁面又滑入屏幕。你可以使用Ben Alman編寫的hashchange插件(http://benalman.com/projects/jquery-hashchange-plugin/),在我的網站(http://interfacethis.com/portfolio/)上看看這個非常簡單的例子。

新機遇

但這只不過是開了個頭。單頁面網站大有潛力。

當訪客滾動瀏覽你的主頁時,何不在后臺裝入可能向下鉆取的頁面呢?結合你的Google Analytics數據,就可以確認當前頁面之后最有可能訪問的目的地。如果你喜歡,也可以按訪客的人口統計資料來加以細分。

新的導航模式因而成為了可能。之前的頁面不需要一路滑出屏幕,而是可以瀏覽旁邊的部分,以保留上下文,從而創建一種現代的面包屑(breadcrumb)導航方式:



另外,我們可以使用HTML5的離線功能,為無法全部緩存的頁面改進性能:將導航元素及其他靜態元素保留在客戶端上,然后使用那些緩存的元素來動態組裝頁面。
 

挑戰

眼下,對大多數來說門檻過高,做不到這一點。唯有掌握豐富的專門知識,并且投入大量的努力,page.js才會成氣候。

***鏈接(Permalink)帶來了挑戰。基于Ajax的導航依賴ULR的哈希部分(http://my-site.com/my-page#hash-component)。它包含在書簽里面,但是并不傳輸到服務器端。所以,哈希部分是***鏈接的一部分,但是它離不開能夠支持JavaScript的客戶端的合作,又沒有被谷歌及其他搜索引擎編入索引。但愿有一個解決辦法:谷歌已開發了一項標準,好讓Ajax鏈接能搜索到;一旦使用了這項標準,你的不刷新網站就能搜索到。而解決辦法變得更好了:許多瀏覽器在開始實施HTML5 History API(應用編程接口);相比之下,這套API解決這個問題要漂亮得多。所以你現在只要用一點JavaScript代碼,就可以實現,將來可以大大減少JavaScript代碼。

從框架層面來看,這些挑戰可以應對的,也是可以克服的。所以,***步是創建page.js,然后將它交到網站制作者的手里。之后就等著坐收其成了。

原文:http://operationproject.com/2011/rethink-the-website/

【編輯推薦】

  1. 使用jQuery設計數據表格之實現Ajax功能
  2. Ajax應用:使用jQuery和PHP實現功能開關效果
  3. 通過五個Ajax***實踐編寫更強壯的代碼
  4. 初析Struts2中的Ajax開發實例
  5. 介紹Ajax優于JSF的原因
責任編輯:陳貽新 來源: 51CTO
相關推薦

2019-07-15 14:49:16

網絡安全云計算軟件

2019-04-18 13:40:31

區塊鏈分布式賬本數據庫

2016-01-25 10:30:53

京東大數據

2011-06-09 17:18:09

2011-06-14 10:31:06

用戶體驗

2010-05-24 10:58:09

SVN更新網站

2011-01-17 23:31:10

網絡釣魚攻擊釣魚攻擊RSA

2009-04-28 09:44:31

jQueryAjaxphp

2023-02-23 15:05:07

前端Web開發

2019-12-02 14:39:14

密碼登陸體驗

2020-11-18 10:57:56

虛擬現實VR醫療

2016-06-08 09:41:56

云產品

2019-12-23 22:42:38

物聯網大數據智能音箱

2021-06-10 15:03:39

網絡安全數據技術

2010-01-07 09:07:30

Windows 7測量系統

2009-06-25 14:05:08

Ajax JSF

2024-05-20 08:49:07

ArkUI鴻蒙應用開發

2025-02-17 13:20:00

FastHTML開發Python

2009-12-14 20:05:05

內容
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品久久久久久久久久 | 色婷婷综合网站 | 国产成人精品免高潮在线观看 | 成人欧美一区二区三区色青冈 | 色网在线观看 | 日韩一区不卡 | 91精品国产综合久久久久蜜臀 | 亚洲国产精品一区二区第一页 | 亚洲成网 | 久久久看 | 九九伦理电影 | 自拍偷拍av| 在线观看中文字幕一区二区 | 久久天天| 91在线视频免费观看 | 日韩成人免费av | 精品日韩在线 | 欧美专区日韩专区 | 欧美日韩18 | 91啪亚洲精品 | 综合久久综合久久 | 精品视频一区二区三区在线观看 | 日本一区二区视频 | 激情婷婷 | 日韩久久精品 | 成人黄色av网站 | 中文字幕精品一区二区三区在线 | 国产一区二区三区免费观看视频 | 国产欧美一级二级三级在线视频 | 日韩午夜 | 国产成人一区二区三区 | 91免费视频 | 99精品电影 | 国产高清在线精品一区二区三区 | 激情欧美一区二区三区中文字幕 | 国产精品1区2区 | 国产精品人人做人人爽 | 成年人精品视频在线观看 | 999久久久精品 | 国产精品黄色 | 男人的天堂在线视频 |