前幾天網(wǎng)站推出網(wǎng)站速度診斷功能,遇到一個(gè)比較奇怪的問題,就是網(wǎng)頁有時(shí)候無法完全打開,只顯示個(gè)頭部,有時(shí)候刷新幾次后可以完全顯示,但大多數(shù)情況是不能完全打開網(wǎng)頁,問題出在下半部網(wǎng)頁那里。
一開始以為是速度的問題,后來把所有圖片鏈接請求都連接到站內(nèi),不再跨站連接,問題依然存在。
但是令人費(fèi)解的是,同一套代碼,其他頁面打開是正常的,為何就這頁有問題呢。
最后,只有從代碼檢查來排錯(cuò)了。代碼檢查是一件很辛苦的事,因?yàn)榇a寫得不規(guī)范,密密麻麻的。
從上到下開始檢查,一塊一塊的刪除,每刪除一塊都看看網(wǎng)頁是否能夠打開正常。。。
后來,一處div標(biāo)簽給了我啟示,如下圖:
某div處出現(xiàn)警示的波浪形,把鼠標(biāo)移過去,出現(xiàn)文字提示:驗(yàn)證(XHTML 1.0 Transitional): 元素"div"缺少結(jié)束標(biāo)記。
此處,正是不能顯示部分的開始位置!
我于是在適當(dāng)?shù)奈恢眉由狭?lt;/div>這個(gè)結(jié)束標(biāo)記。
再檢查網(wǎng)頁打開情況,終于正常了!
后記
從我這個(gè)案例里,我想到不少類似的網(wǎng)頁,都是網(wǎng)頁上部分打開很快,而下部分尤其是正文部分打開卻要滯后幾秒。在多數(shù)情況下,我是不會(huì)等下去的,因?yàn)槔玫却臅r(shí)間,我完全可以從搜索結(jié)果里點(diǎn)擊另一條記錄打開了另一個(gè)網(wǎng)頁,更何況還不知道等待的結(jié)果會(huì)怎樣呢。
網(wǎng)頁打開速度的影響因素雖然很多,但是我覺得最關(guān)鍵最重要的還是網(wǎng)頁代碼本身。如果從帶寬、硬件上提升不太實(shí)際,為何不在網(wǎng)頁代碼上優(yōu)化它呢?
webkaka目前推出了網(wǎng)站速度診斷工具,使用很簡單,在網(wǎng)頁上輸入網(wǎng)址立即可以診斷了,診斷過程會(huì)揪出影響網(wǎng)頁速度的元素,最后還給出相應(yīng)的優(yōu)化建議。網(wǎng)站速度診斷地址是:http://pagespeed.webkaka.com/