2015-11-04 57 views
1

所以我通讀了一些教程,但我仍然困惑於如何做到這一點。推遲加載javascript

我的網站是oaktreehealth.ca 我有太多的JavaScript文件加載上面的摺疊,我想推遲任何不需要馬上加載。

我已閱讀本教程(以及整體一個偉大的網站!):https://varvy.com/pagespeed/defer-loading-javascript.html

這裏是我的問題:

  1. 如何包括多個文件?我只是創建他使用的代碼的多個實例嗎?或者我可以將它們合併爲一個?

  2. 我怎麼知道我應該推遲哪些文件?有些對我來說很明顯,其他人我不確定。我應該試錯嗎,看看它每次加載的方式嗎?

  3. 我使用wordpress,所以這仍然是一個很好的方法嗎?還是有另一種方式,我可以加載到我的functions.php文檔?

  4. 使用此工具:https://varvy.com/tools/js/我可以看到我所有的外部腳本。如果我將它們添加到他使用的延遲代碼中,是否使用完整路徑?我怎樣才能找到每個腳本?

  5. 非常感謝!我知道一些這一定是非常小巧的問題!

+0

不WordPress的有一個JavaScript依賴管理系統?當你告訴WordPress加載腳本時,它沒有一個參數來發送腳本,它依賴於? – thatidiotguy

+0

a幾個指針:!)在頁眉區域加載JS,除非頭文件需要。 (WP有這個選項)。 2)用戶推遲腳本 - 在加載Js文件之前等待窗口加載事件。 –

+0

您可以在window.onload事件之後加載所有文件,方法是創建一個新的

2

如果你看一下wp_enqueue_script方法在這裏:

https://codex.wordpress.org/Function_Reference/wp_enqueue_script

你會看到第三個參數是腳本的數組,你是加載腳本依賴。如果您對所有腳本文件都這樣做,WordPress會自動以正確的順序加載您的JavaScript。

+0

哇,這很好。所以我可以指定從插件加載腳本的順序嗎?你知道有哪個地方有我想要做的事情嗎? – Jenna

+0

@Jenna深入?這是標準的wordpress文檔。他們在文檔中有幾個例子。 – thatidiotguy

+0

謝謝!我的意思是說它對我的特殊需求非常寬泛。我知道wp_enqueue_script方法是如何工作的,我只是很難正確地鏈接所有東西,因爲許多腳本遍佈在我的文件中 – Jenna

0

關於#2的問題(「我怎麼知道是什麼(JavaScript)的文件,我應該推遲「),請按照下列步驟操作:

(1)使用https://developers.google.com/speed/pagespeed/insights/ (2)單擊‘?展如何解決’下的」消除阻止呈現的JavaScript和CSS在上面的倍內容「 (3)查找應該推遲或以其他方式處理的腳本的」渲染阻止JavaScript「的列表。

來源:https://varvy.com