我的應用程序中有多個頁面在加載時顯示部分FOUC(閃爍的未格式化內容),這是因爲其中一些樣式表和/或JavaScript定義在文檔的頭部而不是佈局中。根本的問題是,DOM在這些樣式表加載之前正在觸發。DRY和表現之間的張力?
爲了解決這個問題,我想有幾個可能性:
- 延遲的DOM射擊,直到附加樣式表被加載後。這會起作用,但會降低網站的速度,因爲我們會迫使DOM等待至少兩個樣式表加載。
- 把它留在原地,FOUCs和所有。
- 將所需的樣式表移動到佈局中,以便一開始就裝入其餘的樣式表。這是性能最佳的,但它會干擾我的困惑。我有很多頁面使用相同的佈局,但每個頁面都需要不同的修改樣式表。例如,用戶可能使用應用程序佈局,但需要users.css文件,而產品可能使用應用程序佈局,但需要一個products.css文件。這個選項的終點是很多幾乎完全相同的佈局,唯一的區別是CSS要包含什麼(可怕的unDRY)。
- 一個優雅的技術解決方案,我不知道在我的intermediacy。
包含不同樣式表的正確方法是什麼?是否可以在不重複佈局代碼的情況下執行此操作?
你能澄清你通過和 '佈局' 的文件頭「的意思 - 你的意思HTML頁面的
部分和Rails application.html.erb文件? – 2010-10-14 19:54:02你好。通過佈局我的意思是Rails佈局,例如application.html.erb。按照我的意思(可能不準確!)在users/new.html.erb視圖頂部的樣式表聲明。 – sscirrus 2010-10-14 21:10:21