Flying Scripts

外掛說明

使用者互動時才下載及執行 JavaScript。

示範影片

Flying Scripts 會在沒有使用者活動時,延遲 JavaScript 的執行。網站管理員可以指定關鍵字,以便納入要進行延遲的 JavaScript。這個外掛也可以設定為在超過一定時間即使沒有使用者活動,還是執行 JavaScript。

網站應該使用這個外掛的原因

執行 JavaScript 會產生資源爭用的狀況。藉由延遲執行不重要、初始轉譯不需要的 JavaScript,將重要的 JavaScript 檔案提升執行優先序及給予更多資源,並能讓網站降低轉譯時間、可互動時間、首次 CPU 閒置、潛在輸入延遲上限等效能瓶頸,並能透過減少要求數量降低瀏覽器的初始負載。

技術支援

我們的付費外掛

我們的免費外掛

參與者

安裝方式

  1. 前往 [外掛] 頁面,並點擊 [安裝外掛]。
  2. 搜尋「Flying Scripts」。
  3. 在 WordPress 的 [外掛] 頁面啟用 Flying Scripts 外掛。
  4. 前往 [設定]→[Flying Scripts] 進行設定。

常見問題集

要納入哪些理想的指令碼?

任何不是用於繪製第一個檢視畫面捲動內容上方的不重要指令碼,第三方指令碼如追蹤指令碼、對談外掛等,均是可納入的理想指令碼。

應該將哪些項目納入關鍵字中?

請納入內嵌指令碼中對該指令碼具備唯一識別作用的任何關鍵字。例如,用於 Facebook Pixel 的 fbevents.js、用於 Google Tag Manager 的 gtag,用於 Facebook Customer Chat 的 customerchat.js

這與 defer 屬性的差異在何處?

defer 屬性會通知瀏覽器,在找到指令碼後下載指令碼並在 HTML 轉譯完成後加以執行;而網站會在安裝了 Flying Scripts 並將指令碼納管後,只有在使用者互動時才執行這些指令碼。

什麼是使用者互動?

使用者將游標暫留於連結上、捲動畫面、使用鍵盤輸入、在行動裝置上的操作等事件,都是使用者互動

什麼是逾時?

即使沒有發生使用者互動事件,指令碼也會在指定的逾時時間後執行。

使用者評論

2023 年 1 月 7 日
Sooo easy to set up and a great way to deal with heavy JS from advertising etc. Really simple but brilliant approach to defer until user input. Pagespeed Insights overall score went from 58/70 to 99/100 for mobile & desktop respectively without any other changes (appreciate these values fluctuate anyway but that's a significant jump even +/- a few points on the final values).
2022 年 10 月 26 日
It saved me a lot of time. Thank you for creating a wonderful plugin.
閱讀全部 37 則使用者評論

參與者及開發者

以下人員參與了開源軟體〈Flying Scripts〉的開發相關工作。

參與者

將〈Flying Scripts〉外掛本地化為台灣繁體中文版

對開發相關資訊感興趣?

任何人均可瀏覽程式碼、查看 SVN 存放庫,或透過 RSS 訂閱開發記錄

變更記錄

1.2.3

  • Increased DOM size limit
  • Updated “Optimize more” tab

1.2.2

  • Fix – Added mouse wheel event for user interaction

1.2.1

  • Fix – FacetWP compatibility

1.2.0

  • New – Exclude on pages
  • New – Set timeout to Never

1.1.9

  • Security updates

1.1.8

  • [BUGFIX] Disable for admin interface when using W3 Total Cache

1.1.7

  • [BUGFIX] Support for W3 Total Cache

1.1.6

  • [REMOVED] Unnecessary “scroll” event

1.1.5

  • [UPDATE] Set data-type='lazy' instead of type='lazy'. Removed setting type='text/javascript' via JavaScript

1.1.4

  • [BUGFIX] Remove event listeners after scripts are loaded

1.1.3

  • [UPDATE] Copy updates

1.1.2

  • [UPDATE] Minified JavaScript
  • [UPDATE] Updated copy, FAQ

1.1.1

  • [BUGFIX] Exclude json and other script tags

1.1.0

  • [NEW] Load scripts on user interaction
  • [REMOVED] Load scripts after delay

1.0.0

  • Initial release