這個想法的動機是,瀏覽器廣告請求通常痛苦地慢,並且可以阻止頁面呈現,更不用說瀏覽器JavaScript線程了。如果某個網頁加載了多個廣告,那麼這很不可靠,從而阻止了第三方通話。通過使用事件驅動的無頭服務器端瀏覽器,是否可以提出這些請求並將廣告資源一次性傳遞給瀏覽器?特別是,這將工作與doubleclick,其廣告網絡經常提出一系列請求,document.write腳本標籤,然後獲取更多的腳本,可能會加載一個Flash SWF,然後請求一些額外的GIF?這聽起來有點多,但廣告是魔鬼,如果這可以從客戶端卸載,它將大大提高網站速度,因爲服務器解決方案可以發出廣告請求並處理JavaScript並行處理。是否可以使用無頭瀏覽器在服務器端進行廣告請求而不是在瀏覽器中?
編輯:應對@dthorpe:
所有好點的考慮。
至於廣告投放的延遲時間,服務器端解決方案應有助於爲以下原因:
首先,多個廣告請求可以並行進行。雖然在瀏覽器中有並行加載資源的方法,但我知道沒有好的解決方案是完全非阻塞的(即在頁面呈現和onload事件方面),除非您懶惰地加載所有的廣告。我正在尋找一種方式,在頁面的其他部分加載時以並行方式並以非阻止方式加載廣告。
其次,也許更重要的是,加載雙擊廣告通常涉及加載多箇中間腳本。瀏覽器中的Javascript是單線程的。這直接意味着我的網頁的javascript將阻止廣告-javascript,從而減慢廣告印象。廣告的JavaScript反過來會阻止我的網頁的JavaScript,從而減慢我的頁面。爲了追蹤或其他目的,我可能會有其他第三方來電。我在頁面上也有多個廣告,這些都有助於減緩頁面渲染和JavaScript執行速度。通過將廣告加載卸載到服務器,我的頁面的JavaScript不會與廣告競爭。廣告帶來的延遲將是一個廣告(最長的廣告)的功能,但是一個廣告的加載行爲不會受到其他廣告或我的網頁的影響,因此在理論上應該更快。
我們的目標是以廣告不會阻止頁面呈現,頁面加載事件或減慢頁面或彼此的方式從基本頁面分離廣告。我不知道任何客戶端解決方案,只要瀏覽器內的javascript是單線程的,就可以實現完美的解除關聯。雖然長時間加載的廣告正在通過JavaScript實現,但頁面的其餘部分必須等待。
我知道各種延遲加載機制,一些涉及iframe,還有一些覆蓋document.write以適應延遲加載,但這些都沒有令人滿意的結果,純粹是由於干擾JavaScript執行的系列行爲。
我想知道是否可以在瀏覽器中使用java applets獲得服務器端廣告加載的好處,並避免您提到的cookie /預加載情況?我實際上正在考慮這些不符合要求的方法,因爲我們看到雙擊廣告嚴重退化。這些廣告殺死頁面加載速度的方式是真正的憎惡:)
如何在服務器端渲染廣告我必須遵循的方法 – 2016-12-23 12:20:25