熱門標(biāo)簽
- 順河街網(wǎng)站設(shè)計(jì)公司
- 界頭網(wǎng)站設(shè)計(jì)制作
- 鴨鴿營網(wǎng)站設(shè)計(jì)
- 孟連制作網(wǎng)頁
- 劉圩網(wǎng)頁設(shè)計(jì)公司
- 柞市網(wǎng)站設(shè)計(jì)公司
- 香隅營銷型網(wǎng)站建設(shè)
- 越秀網(wǎng)頁設(shè)計(jì)
- 林沖外貿(mào)網(wǎng)站建設(shè)
- 土坪網(wǎng)絡(luò)營銷
- 鯉魚塘外貿(mào)網(wǎng)站建設(shè)
- 現(xiàn)在做得好的室內(nèi)設(shè)計(jì)網(wǎng)站
- 實(shí)體店鋪裝修設(shè)計(jì)網(wǎng)站
- 省新網(wǎng)站開發(fā)
- 七道嶺網(wǎng)站優(yōu)化
- 平面設(shè)計(jì)的兼職網(wǎng)站都有什么區(qū)別
- 屈子祠網(wǎng)站推廣
- 舊口網(wǎng)站定制
- 灌陽鎮(zhèn)網(wǎng)站優(yōu)化
- 赤石高端網(wǎng)站建設(shè)
熱文推薦
- 網(wǎng)站建設(shè)之網(wǎng)站優(yōu)化要如何提高用戶…
- 網(wǎng)站頁如何設(shè)計(jì)?
- 學(xué)校網(wǎng)頁的目的是什么設(shè)計(jì)
- 深圳網(wǎng)站建設(shè)分享一個(gè)h5幾個(gè)網(wǎng)頁設(shè)…
- 網(wǎng)站推廣軟文中關(guān)鍵詞如何放置?
- 2016年元旦放假通知
- 網(wǎng)站建設(shè)中如何確定網(wǎng)站內(nèi)容?
- 品牌營銷網(wǎng)站的價(jià)值體現(xiàn)
- 上市公司網(wǎng)站建設(shè)應(yīng)該具備哪些功能…
- 如何做網(wǎng)站才能體現(xiàn)出企業(yè)文化
五個(gè)常見Ajax問題的解決方案
在本文中,我們將討論并解決深圳網(wǎng)站設(shè)計(jì)**常見的五個(gè)挑戰(zhàn)。雖然這五個(gè)主題都有很多討論和研究,但這個(gè)職位應(yīng)該給初學(xué)者和中級(jí)Ajax開發(fā)人員一些扎實(shí)的技能,使他們能夠以更方便和易懂的方式實(shí)現(xiàn)Ajax功能。問題1:當(dāng)內(nèi)容不向后兼容時(shí),不為禁用的JavaScript瀏覽器指定由設(shè)計(jì)增強(qiáng)為網(wǎng)站的體系結(jié)構(gòu)JavaScript和Ajax。JavaScript和Ajax網(wǎng)站的錯(cuò)誤是什么,而JavaScript的考慮應(yīng)該是規(guī)劃過程的一部分。但仍應(yīng)確保網(wǎng)站向后兼容。解決方案:實(shí)現(xiàn)Ajax是對(duì)已經(jīng)運(yùn)行的網(wǎng)站的增強(qiáng),盡管Ajax可能會(huì)規(guī)劃您的網(wǎng)站總體架構(gòu),確保所有內(nèi)容都可以通過常規(guī)的服務(wù)器端方法。假設(shè)你有一個(gè)“一;員工信息;頁面上,每個(gè)員工都有一個(gè)單獨(dú)的鏈接。使用服務(wù)器端技術(shù),可以根據(jù)查詢字符串的值顯示特定員工的內(nèi)容,以便:
上面所有的鏈接指向同一個(gè)頁面,并在“的;“雇員”和;并根據(jù)變量查詢字符串。每個(gè)員工的信息都將從服務(wù)器加載,有很多方法可以做到:通過服務(wù)器端;通過數(shù)據(jù)庫;均勻使用XML。無論何時(shí)單擊employee鏈接,都會(huì)傳遞作為請(qǐng)求加載的信息。因此,任何Ajax增強(qiáng)層之上的內(nèi)容是完全可能的。然后,使用JavaScript,整頁刷新可以中斷并加載內(nèi)容,而不是Ajax。單擊鏈接以通過ID或通過檢查錨點(diǎn)的href屬性的值來確定。盡管內(nèi)容已完全禁用JavaScript,但大多數(shù)用戶將看到增強(qiáng)的Ajax驅(qū)動(dòng)程序版本。Ajax的逐漸增強(qiáng)原理是眾所周知的,因?yàn)樗且环N常見的JavaScript技術(shù)和固有的CSS,如下圖所示:
因此,構(gòu)建網(wǎng)站而不使用JavaScript,然后添加JavaScript作為增強(qiáng)功能,就像放置HTML內(nèi)容然后“添加”一樣;加強(qiáng)“和;和CSS。問題2:-瀏覽器負(fù)載指示器不會(huì)通過Ajax請(qǐng)求觸發(fā)幾乎所有瀏覽器。直觀地向用戶顯示的內(nèi)容之一是加載。在當(dāng)前瀏覽器中,指示標(biāo)簽上顯示的加載內(nèi)容。下圖顯示了幾個(gè)流行瀏覽器中的動(dòng)畫指示器。
問題是請(qǐng)求沒有觸發(fā)這個(gè)“0.001”請(qǐng)求;加載“和”;指示器,內(nèi)置瀏覽器。
解決方案:在內(nèi)容附近插入一個(gè)類似的加載指示器,加載這個(gè)常見的解決方案是請(qǐng)求一個(gè)定制的進(jìn)度指示器Ajax。許多網(wǎng)站提供免費(fèi)“和;加載“和”;圖形。
要實(shí)現(xiàn)自定義加載圖形或漸進(jìn)指示器,您網(wǎng)站功能Ajax只是一件簡單的事情,可以在適當(dāng)?shù)臅r(shí)間顯示和隱藏它,通過JavaScriptAjax代碼將包含一行代碼,這些代碼將告訴您請(qǐng)求是否正在進(jìn)行或完成。使用JavaScript,您可以在處理請(qǐng)求時(shí)顯示動(dòng)畫圖形,并在操作完成后隱藏它。
問題3:用戶不知道Ajax請(qǐng)求已經(jīng)完成,這與之前的問題類似,但往往被忽略,因?yàn)殚_發(fā)人員可能認(rèn)為“消失”請(qǐng)求未完成;加載rdquo;指標(biāo)可以通知用戶內(nèi)容已完全加載。但是在大多數(shù)情況下,它顯示的內(nèi)容已經(jīng)更新或刷新得更好。解決方案:使用唯一的“1”;請(qǐng)求完成;這可以通過提交這樣的表格來確認(rèn)。在聯(lián)系提交挖掘機(jī)的頁面上,請(qǐng)明確地知道您的提交已收到:Digg的表單提交指示器。雖然該指標(biāo)沒有表明Ajax請(qǐng)求已完成,但原則相同:“Digg;成功;對(duì)話框出現(xiàn)后,將加載提交表單的頁面,該框顏色豐富,不同。類似的圖形或指示器可以用于Ajax請(qǐng)求,以告知用戶內(nèi)容已更新。這是除了執(zhí)行之外,而不是進(jìn)度指標(biāo)提出的以前的問題。一種類似但微妙的方法,顯示區(qū)域的內(nèi)容已經(jīng)用淡出技術(shù)更新。這種方法在工程和Ajax加載內(nèi)容時(shí),用戶都很熟悉。
問題4:#Ajax請(qǐng)求無法訪問第三方網(wǎng)站的服務(wù)對(duì)象。這是所有Ajax請(qǐng)求的根。它限制在同一域中發(fā)送請(qǐng)求的頁面。但是有時(shí),當(dāng)您想通過Ajax請(qǐng)求訪問第三方數(shù)據(jù)時(shí)。許多Web服務(wù)通過ApI提供數(shù)據(jù)。解決方案:將服務(wù)器用作代理。解決此問題的方法是在服務(wù)器和瀏覽器之間使用第三方服務(wù)代理。雖然該方案的細(xì)節(jié)遠(yuǎn)遠(yuǎn)超出了本文的范圍,但我們將討論工作中的基礎(chǔ)知識(shí)。由于Ajax請(qǐng)求來自客戶端瀏覽器,因此它必須引用另一個(gè)位置的文件,但與請(qǐng)求源所在的域相同。
您的服務(wù)器,但與客戶端的瀏覽器不同,它不會(huì)以這種方式受到限制。因此,當(dāng)調(diào)用服務(wù)器上的頁面時(shí),它會(huì)在后臺(tái)運(yùn)行,因?yàn)樗ǔM瑫r(shí)訪問任何域。用戶沒有安全風(fēng)險(xiǎn),因?yàn)榈谌椒?wù)的請(qǐng)求在您的服務(wù)器上。因此,一旦在服務(wù)器級(jí)別獲得信息,則Ajax調(diào)用中的下一步是將響應(yīng)返回給客戶機(jī),該客戶端將包括從第三方Web服務(wù)獲得的數(shù)據(jù)。
問題5:#深度鏈接不可用。這是一個(gè)棘手的問題,但它不能依賴于您的網(wǎng)站或應(yīng)用程序類型需求。當(dāng)有問題時(shí),內(nèi)容通過Ajax加載,然后“如果有問題,內(nèi)容通過Ajax加載”“國家”網(wǎng)站是不指向頁面的URL更改的效果。如果用戶通過與朋友共享的書簽或鏈接返回頁面,更新的內(nèi)容將不會(huì)自動(dòng)顯示。網(wǎng)站將返回其原始狀態(tài)Flash網(wǎng)站有相同的問題:它們不允許用戶鏈接到任何初始屏幕。解決方案:使用內(nèi)部頁面的錨定來確保特定的“0”“國家”;一個(gè)Ajax驅(qū)動(dòng)Web鏈接和書簽,您可以使用頁內(nèi)鏈接修改URL,而不刷新頁面或影響其垂直位置。這個(gè)簡單的代碼演示了如何做到這一點(diǎn):無功currentanchor =文件位置currentanchor =字符串(當(dāng)前anchor);當(dāng)前anchor=當(dāng)前anchor.Division(quo#rdquo;)如果(當(dāng)前)anchor。長度gt;1) {當(dāng)前anchor=當(dāng)前anchor;}{其他當(dāng)前anchor=當(dāng)前anchor;}開關(guān)(電流anchor){案rdquo);論文**節(jié)為“**節(jié)”/加載1節(jié)內(nèi)容中斷案rdquo;ldquo;rdquo;:/荷載內(nèi)容分為2段;案例研究;部分:以上不是一個(gè)功能塊代碼,而是一個(gè)理論例子來證明所涉及的主要步驟。代碼的前兩行將變量放在當(dāng)前頁面位置(URL)。然后,位置被轉(zhuǎn)換成一個(gè)我們可以操縱的字符串。接下來,我們想了解更多關(guān)于它的信息;分部;通過錨定標(biāo)記(#)將字符串分成兩部分,然后查看數(shù)組,通過拆分創(chuàng)建多個(gè)項(xiàng)。大于一的錨意味著URL。如果URL只是部分的,則表示沒有錨定。以下“1;道岔;語句的內(nèi)容基于語句中的錨定值switch;默認(rèn)情況下;選項(xiàng),如果不存在錨定,則這將與以其原始狀態(tài)加載頁面相同。此外,我們將編寫代碼來處理通過內(nèi)部錨直接指向特定內(nèi)容的鏈接。一個(gè)鏈接,指向“;內(nèi)容;它將發(fā)表在“;內(nèi)容的內(nèi)容加載,以及“內(nèi)容加載”字符串#內(nèi)容;將附加到當(dāng)前頁的URL。這將添加一個(gè)內(nèi)部錨點(diǎn)更改URL,它不會(huì)更改頁面的視圖,但保留一個(gè)指示頁面所需狀態(tài)的標(biāo)識(shí)符。這個(gè)解釋只是理論。工作的理念,很管用。但我沒有說所有的可能性,缺點(diǎn)和其他微妙的這種網(wǎng)站或網(wǎng)絡(luò)建設(shè)。請(qǐng)關(guān)注更全面的討論、下面的鏈接或自己嘗試。另外,請(qǐng)注意,這可用于更改單獨(dú)測(cè)試JavaScript的內(nèi)容,而不使用Ajax。
牧羊人設(shè)計(jì)
系統(tǒng)設(shè)計(jì)過程
集團(tuán)網(wǎng)站建設(shè)欄目設(shè)置及集團(tuán)公司網(wǎng)站建設(shè)方案
Web 設(shè)計(jì)
http://79806.xyz/jianzhanzhishi/1354.html 五個(gè)常見Ajax問題的解決方案