2016-04-09 41 views
0

我大致知道瀏覽器如何解析一個網站,以及它如何完成從我輸入stackoverflow.com到我的瀏覽器頁面的所有工作。有什麼方法可以重寫瀏覽器呈現頁面的方式嗎?

的這裏的問題是我怎麼能覆蓋操縱,以迫使一組特定的任務在我想要的順序其行爲。

我的意思是這樣:只有

  1. 下載網站的折返部以上的HTML代碼。
  2. 下載並解析網站摺疊部分上方的樣式表。
  3. 渲染倍以上
  4. 的下載圖像的摺疊
  5. 上面下載JS折
  6. 在解析JS,下載網站
  7. 重複的另一部分...
以上

在我的示例中,我只是想盡可能多地渲染頁面,然後渲染頁面的其餘部分。

顯然,這是什麼,詢問是否是可能做的,也是我想知道是否有一些庫,實現了這個功能(或類似的東西),我非常簡單的例子。

+0

這個問題太寬泛了。你是否想要實現一些能夠實現這些任務的Javascript?如果是這樣,已經有[問題](http://stackoverflow.com/questions/19374843/css-delivery-optimization-how-to-defer-css-loading)和[答案](http://stackoverflow.com/questions/30964257/critical-css-above-the-fold-content-and-rendered-views)。或者,你想要實現一個瀏覽器插件? – alexw

+0

它可能過於寬泛,但我要求它尋找一個詳細的答案,這將幫助我找到一種方法來實現我想要的,但很明顯,SO更喜歡「幫助這不起作用」的問題 – IAmJulianAcosta

+0

SO喜歡具體的,經過深入研究的問題。 「重寫瀏覽器呈現頁面的方式」的問題在於,這個字面上可以描述*任何*。所有CSS和Javascript都會修改瀏覽器的默認行爲。至於其餘的問題......他們不是真正的問題,而是主題。如果您之前對這些常規主題進行了一些研究,我懷疑您會對我們提出更具體的問題。 – alexw

回答

3

瀏覽器應該如何知道您的網站的哪個來源只觸及摺疊區域?

那麼,需要照顧。明確。

  • 在您網站的初始樣式表中,只包含「上方」樣式。
  • 在您的網站的初始JavaScript中,只包含「優先選擇」行爲和用於動態獲取其餘內容的行爲(例如,jspm可讓您執行此操作)。
  • 初始視口渲染完成後,下載JavaScript並插入其餘的樣式/腳本並將它們插入到DOM中。
  • 您也可以將您的網站劃分爲一旦用戶滾動到附近時動態加載的塊(例如,請參閱圖片/視頻的延遲加載,YouTube的評論部分等)。

要當心:什麼是「在摺疊之上」?您能否告訴我們手機甚至智能手錶等屏幕較小的設備有什麼優勢?

大多數時候,這是不必要的腳本和媒體,殺死網站的性能。沒有理由預取這些。

您應該採取更簡單的方法(例如用戶首先需要滾動到的惰性加載大塊數據)而不是過度工程。

+0

_「什麼是」摺疊「?」_ - 恕我直言它是由Google發明的愚蠢構造,濫用市場地位試圖迫使我們強姦和肢解我們的HTML和CSS ... – CBroe

+0

@cbroe它是有道理的當你有一個非常大的頁面,你想讓它渲染得非常快。這只是一個例子 – IAmJulianAcosta

相關問題