白屏和FOUC

白屏和FOUC(無樣式內(nèi)容閃爍)均是由于不同的瀏覽器渲染機制導致的問題。
白屏主要發(fā)生在IE上,FOUC主要發(fā)生在Firefox


白屏:在瀏覽器和用戶等待位于底部的樣式表時,瀏覽器會延遲顯示任何可視化組件,即所謂的白屏現(xiàn)象
FOUC:頁面在樣式表下載解析之前,組件就已經(jīng)逐步加載顯示,當樣式表解析完成后,已經(jīng)顯示的組件就要用新的樣式進行繪制,這就導致所謂的無樣式內(nèi)容閃爍


原因:

  1. Firefox里,無論樣式表至于頂部還是底部,總是采用逐步呈現(xiàn)的方式來加載組件。因此,若樣式不是最終呈現(xiàn)所必需的,則用戶基本感覺不到有什么差別;反之當樣式為呈現(xiàn)所必需的時候,則會呈現(xiàn)無樣式內(nèi)容閃爍

  2. IE里復雜一點。如果頁面組件已經(jīng)加載顯示完畢,但CSS慢一點才加載解析完畢,這時用戶就會發(fā)現(xiàn)原先顯示的頁面所呈現(xiàn)的方式跟最初看到的不一樣。這種用戶體驗其實是很差的,為了防止這種情況的出現(xiàn),IE會阻止頁面的逐步呈現(xiàn)直至樣式表加載解析完畢,然后頁面所有內(nèi)容呈現(xiàn)在計算機屏幕上


建議:

  1. 將樣式表置于head標簽中
    2.將js腳本置于底部,因為js腳本會阻塞內(nèi)容的呈現(xiàn)和后面組件的下載。對于圖片和CSS會并發(fā)加載,但在加載js時,會禁用并發(fā),并且組織其他內(nèi)容的下載,所以把js放在頂部也會導致白屏現(xiàn)象
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 1.CSS和JS在網(wǎng)頁中的放置順序是怎樣的? css放在head標簽里,JS放在body標簽的 前。 2.解釋白屏...
    candy252324閱讀 511評論 0 0
  • 主要內(nèi)容: CSS和JS在網(wǎng)頁中的放置順序、白屏和FOUC、async和defer以及網(wǎng)頁的渲染機制。 CSS和...
    苦瓜_6閱讀 284評論 0 0
  • 瀏覽器的白屏與無樣式內(nèi)容閃爍(Flash of unstyled content),是由于瀏覽器加載與顯示頁面方式...
    JohnHank閱讀 537評論 0 0
  • 白屏問題: 如果把樣式放在底部,對于IE瀏覽器,chrome等(css全部加載后再呈現(xiàn),有可能等待長),在某些場景...
    zx9426閱讀 576評論 0 0
  • 仔細觀察下,會發(fā)現(xiàn),每個單位都會有這樣一種人:喜歡給單位領導打其他同事的小報告。 譬如張某某說了李科長...
    知道ing閱讀 661評論 0 0

友情鏈接更多精彩內(nèi)容