2013-04-15 84 views
2

就在最佳實踐告訴我們贊成外部CSS和JS文件超過內聯HTML以獲得性能優勢的基礎上。使用Javascript渲染元素來加速頁面?

以我們可以管理的HTML文件的形式提供一個好主意嗎?並且使用Javascript/jQuery來儘可能多地渲染DOM,在客戶端連接Javascript事件等等?

+1

我不知道表演,但我喜歡這樣做,因爲這樣我可以實現JavaScript控制器。 (如「mvc」) – Sebas

回答

2

將CSS和JS保存在不同文件中的原因與性能無關。如果有任何問題,可能會由於額外往返服務器而導致頁面變慢。

真正的原因是,對於任何複雜的網頁(應用程序)來說,將頁面(聲明式HTML)的邏輯結構與佈局(CSS)和UI邏輯(Javascript)分開是非常重要的。 。

性能問題,並應單獨使用緩存,縮小等

+0

mfeingold和Kenneth,這樣的網站呢? http://developer.yahoo.com/performance/rules.html 這意味着外部CSS和JS更快,因爲更好地使用緩存。這也是我認識的工程師中不常見的信念。 –

+0

確實,您可以緩存CSS和JS,但也可以緩存HTML。就下載速度而言,只需嘗試將最小的文件發送到客戶端即可。我們在這裏討論兩種不同的「速度」:內容的下載速度,然後是客戶端的渲染速度 – Kenneth

+0

@ S.Valmont確實如此,但它並不重要。當您構建網頁時,需要考慮很多因素,並且根據網站的動態變化以及您期望它發生變化的頻率會有所不同。無論你的主要敵人是不是速度,這是複雜的。你可以做的任何事情來降低複雜性將有所幫助。每當你爲了表現或其他目的而增加複雜性時,你就是在腳下摸索自己 – mfeingold

1

總體解決,給瀏覽器的HTML更快。

當然,一切都取決於服務器創建此HTML所用的時間。

但就客戶端渲染而言,預先構建的HTML總是會勝過JavaScript生成的文檔。這是因爲DOM-API相對較慢(儘管最近有很多改進)。

CSS和JS的分離更關係到可維護性和SEO。

+0

「CSS和JS的分離更關係到可維護性和SEO」< - SEO與它無關,只有可維護性和文件大小。 – cimmanon

+0

並非如此,谷歌絕對使用乾淨的HTML排列頁面,HTML之間的HTML高於HTML – Kenneth