現代Web開發人員可能錯過一個強大的工具來提高可用性,而無需在計劃或構建自己的網站時考慮Ajax。
在本文中,我們將討論如何解決成都江北
網站建設的五個最常見的挑戰。使用Ajax來增強網站上的內容,盡管關于所有五個主題都有很多討論和研究,但是這個職位應該給初學者和中級Ajax開發人員一些可靠的技能,以便以更方便和易于理解的方式實現Ajax函數。
問題1:內容不是向后兼容當出現此問題時,設計人員已經將JavaScript和Ajax增強到他們的網站架構,而不指定禁用JavaScript的瀏覽器。
JavaScript和Ajax網站有哪些錯誤JavaScript應該被視為規劃過程的一部分,但是您應該確保站點是向后兼容的。
解決方案:將Ajax實現為已經運行的網站的增強
盡管Ajax可能計劃網站的總體架構,以確保所有工作都可以通過常規的服務器端方法來完成。
假設您有一個員工信息頁面,每個員工有一個單獨的鏈接。使用服務器端技術,您可以基于查詢字符串的值顯示特定員工的內容,以便:
上面所有的鏈接指向雇員頁面上的同一頁面,并根據變量查詢字符串。每個雇員的信息將以多種方式從服務器加載:通過服務器端;通過數據庫;甚至使用XML。
是否單擊了雇員鏈接,則頁面通過所請求的信息加載。
因此,在任何Ajax增強層之上的內容都是完全可以接受的。然后,使用JavaScript,全頁刷新可以中斷和內容,而不是通過AJAX加載。單擊鏈接可以通過ID或檢查錨href屬性的值來確定。
盡管內容可以完全禁用javascript,但是大多數用戶會看到增強的AJAX驅動程序版本。
Ajax漸進增強的原理是眾所周知的,因為它是常用的JavaScript技術和固有的CSS,如下圖所示:
因此,在沒有JavaScript的情況下構建網站,然后添加JavaScript作為增強,就像添加HTML內容然后使用CSS增強一樣。
問題2:瀏覽器加載指示器不通過Ajax請求觸發幾乎所有瀏覽器都直觀地顯示要加載的用戶內容。在當前瀏覽器中,指示標簽中顯示的加載內容。
下面的圖片顯示了來自幾個流行瀏覽器的動畫指示器。
問題是Ajax請求不觸發這個負載度量,即內置瀏覽器。
解決方案:在內容、負載上插入類似的負載指數
這種常見的解決方案是將自定義進度指示符作為Ajax請求。許多網站提供免費加載的圖形。
為站點的Ajax功能實現自定義加載圖形或漸進指示器,只需在適當的時候通過JavaScript顯示和隱藏它。
Ajax代碼將包括幾行代碼,這些代碼告訴您請求是否正在進行或已經完成。
問題3:用戶不知道Ajax請求已經完成這常常被忽略,因為開發人員可能認為缺少的負載度量可以通知用戶內容已經完全加載。但是在大多數情況下,它所顯示的內容已經更新或刷新得更好。
解決方案:用唯一請求完成的消息
這可以通過提交這樣的表單來確認。在已經提交給Digger的鏈接頁上,請非常清楚地告知您已經收到了您的提交:
Digg形式提交指示符
雖然這個指示符沒有指示Ajax請求的完成,但原理是相同的:在成功對話框出現后,加載提交表單的頁面,這與框不同。
在Ajax請求中可以使用類似的圖表或度量來告訴用戶內容已經更新。這是除了實現之外,而不是以前的問題,建議的進度指示符。
一種類似但微妙的方式來顯示一個區域的內容已經更新為黃色衰落技術。這種方法對于用戶來說很熟悉,而工程和Ajax則加載內容。
問題4:Ajax請求無法訪問第三方網站上的服務這個對象對象位于所有Ajax請求的根部,它限制了頁面在同一域中的請求。但有時您希望通過Ajax請求訪問第三方數據。許多Web服務允許它們的數據通過API。
解決方案:使用服務器作為代理
這個問題的解決方法是在服務器和瀏覽器之間使用第三方服務代理。雖然方案的細節遠遠超出了本文的范圍,但我們將遵循的基本原則仍在起作用。
因為Ajax請求來自客戶端的瀏覽器,所以它必須在另一個位置引用文件,但是與請求源在同一域中。
與客戶端的瀏覽器不同,服務器并不受這種限制。因此,當調用服務器上的頁面時,它在后臺運行,因為它通常同時訪問任何域。
因為第三方服務請求在您的服務器上,所以用戶沒有安全風險。因此,一旦在服務器級別獲得信息,Ajax調用的下一步就是將響應返回給客戶端,客戶端將包括從第三方Web服務獲得的數據。
問題5:深層鏈接不可用這是一個棘手的問題,但它不能取決于您需要的站點或應用程序的類型。當出現問題時,內容通過AJAX加載,因此國家的網站不受未指向的頁面URL更改的影響。
如果用戶通過與朋友共享的書簽或鏈接返回頁面,則不會自動顯示更新的內容。網站將恢復到原來的狀態。Flash也有同樣的問題:不允許用戶鏈接到任何初始屏幕。
解決方案:使用錨定內部頁面
確保使用AJAX驅動的頁面鏈接和特定國家的書簽來修改URL,而不刷新頁面或影響其垂直位置。
案例部分:
以上是一個功能塊代碼,但是一個理論例子來證明所涉及的主要步驟
代碼的前兩行從當前頁面位置(URL)獲取變量,然后將位置轉換為字符串,我們可以對其進行操作。
接下來,通過錨定(#),然后查看數組,從分割中創建多于一個的項。大于一個意味著URL的錨。
如果URL只是其中的一部分,則意味著沒有錨。后續的切換聲明包含基于錨值的內容。在切換語句中有一個默認選項。如果不存在錨,它將在原來的狀態下加載同一頁。
此外,我們將編寫代碼來處理鏈接,通過內部錨直接指向特定內容。指向將加載到內容上的內容的鏈接,字符串#內容將附加到當前頁面的URL。
這將添加一個內部錨來更改URL,保持頁面視圖不變,但保留一個標識符來表示頁面的所需狀態。
這個解釋只是一個理論。工作的概念,它工作得很好。但我沒有說這樣的網站或網站建設的所有可能性,缺點和其他微妙之處。
成都江北網站建設遵循更全面的討論,下面的鏈接,或者自己嘗試一下。另外,請注意,這可以用于在不使用Ajax的情況下更改要與JavaScript分開測試的內容。
本文題目:成都江北網站建設:如何在web設計中解決ajax問題
當前地址:http://m.newbst.com/news14/226164.html
成都網站建設公司_創新互聯,為您提供網站設計公司、云服務器、建站公司、網站維護、網站策劃、微信小程序
廣告
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源:
創新互聯