在使用火狐瀏覽器進(jìn)行網(wǎng)站開發(fā)的過程中,有時(shí)候會(huì)發(fā)現(xiàn)一些奇怪的問題。其中一個(gè)比較常見的問題,就是CSS加載速度很慢。
例如,在Chrome中打開一個(gè)網(wǎng)站,它的樣式表通常會(huì)幾乎立即被加載完成。但在火狐中,可能需要一兩秒鐘的時(shí)間才能完成加載。
這種問題實(shí)際上不是由CSS代碼本身引起的,而是由火狐瀏覽器的一個(gè)特性引起的。在默認(rèn)情況下,火狐會(huì)等待所有CSS樣式表被加載完畢之后才會(huì)開始渲染頁面。這個(gè)行為被稱為“阻塞式解析(blocking parsing)”。
如果你在Firefox瀏覽器中打開個(gè)性化定制頁面時(shí),你可以看到下方的狀態(tài)欄中出現(xiàn)了“正在等待css”的字樣,這說明了這種阻塞解析行為。
這個(gè)問題看起來很令人煩惱,尤其是當(dāng)你嘗試優(yōu)化頁面的加載速度時(shí)。但實(shí)際上,它并不是什么大問題。因?yàn)橐坏〤SS樣式表被下載完成,它們就可以被緩存到本地,并且在之后的頁面加載中可以直接使用。這樣,你下一次訪問同一個(gè)頁面時(shí),CSS加載速度就會(huì)更快了。
如果你想要關(guān)閉這項(xiàng)阻塞解析行為,可以在Firefox瀏覽器的“關(guān)于:配置”中設(shè)置“l(fā)ayout.css.blocking.enabled”選項(xiàng)為“false”。但是我們并不建議你這么做,因?yàn)檫@樣可能會(huì)帶來其他一些問題。畢竟,這個(gè)特性是被瀏覽器開發(fā)團(tuán)隊(duì)設(shè)計(jì)并測(cè)試過的,在大多數(shù)情況下是沒有問題的。