lighthouse 11.3.0 → 11.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/audits/accessibility/aria-allowed-role.js +1 -1
- package/core/audits/bf-cache.d.ts +1 -0
- package/core/audits/bf-cache.js +12 -2
- package/core/audits/bootup-time.js +3 -0
- package/core/audits/byte-efficiency/byte-efficiency-audit.d.ts +0 -10
- package/core/audits/byte-efficiency/byte-efficiency-audit.js +6 -46
- package/core/audits/byte-efficiency/duplicated-javascript.d.ts +0 -6
- package/core/audits/byte-efficiency/duplicated-javascript.js +9 -38
- package/core/audits/byte-efficiency/legacy-javascript.d.ts +0 -11
- package/core/audits/byte-efficiency/legacy-javascript.js +5 -36
- package/core/audits/byte-efficiency/unminified-css.js +2 -2
- package/core/audits/byte-efficiency/unminified-javascript.js +2 -3
- package/core/audits/byte-efficiency/unused-javascript.js +10 -11
- package/core/audits/dobetterweb/uses-http2.d.ts +1 -1
- package/core/audits/dobetterweb/uses-http2.js +8 -5
- package/core/audits/layout-shift-elements.js +32 -17
- package/core/audits/metrics/cumulative-layout-shift.js +5 -1
- package/core/audits/metrics/max-potential-fid.d.ts +20 -0
- package/core/audits/metrics/max-potential-fid.js +69 -0
- package/core/audits/resource-summary.d.ts +11 -0
- package/core/audits/resource-summary.js +86 -0
- package/core/audits/third-party-cookies.d.ts +22 -0
- package/core/audits/third-party-cookies.js +112 -0
- package/core/audits/third-party-summary.d.ts +20 -2
- package/core/audits/third-party-summary.js +3 -48
- package/core/computed/entity-classification.js +1 -1
- package/core/computed/metrics/cumulative-layout-shift.d.ts +13 -1
- package/core/computed/metrics/cumulative-layout-shift.js +47 -1
- package/core/computed/metrics/lantern-first-contentful-paint.d.ts +50 -16
- package/core/computed/metrics/lantern-first-contentful-paint.js +56 -59
- package/core/computed/metrics/lantern-first-meaningful-paint.js +10 -12
- package/core/computed/metrics/lantern-largest-contentful-paint.js +9 -12
- package/core/computed/metrics/lantern-metric.d.ts +2 -2
- package/core/computed/metrics/lantern-metric.js +6 -5
- package/core/computed/resource-summary.d.ts +0 -1
- package/core/computed/resource-summary.js +2 -2
- package/core/computed/unused-css.js +2 -2
- package/core/config/constants.d.ts +2 -2
- package/core/config/constants.js +2 -2
- package/core/config/default-config.js +4 -0
- package/core/config/filters.js +1 -0
- package/core/gather/base-artifacts.js +2 -1
- package/core/gather/gatherers/css-usage.js +5 -0
- package/core/gather/gatherers/trace-elements.d.ts +6 -15
- package/core/gather/gatherers/trace-elements.js +15 -71
- package/core/gather/navigation-runner.js +1 -1
- package/core/lib/i18n/i18n.d.ts +2 -2
- package/core/lib/i18n/i18n.js +2 -2
- package/core/lib/minification-estimator.js +1 -1
- package/core/lib/network-recorder.d.ts +8 -0
- package/core/lib/network-recorder.js +13 -0
- package/core/lib/network-request.d.ts +11 -0
- package/core/lib/network-request.js +21 -1
- package/core/lib/rect-helpers.d.ts +5 -0
- package/core/lib/rect-helpers.js +15 -0
- package/core/lib/script-helpers.d.ts +34 -5
- package/core/lib/script-helpers.js +136 -0
- package/core/lib/url-utils.d.ts +6 -0
- package/core/lib/url-utils.js +14 -2
- package/core/runner.js +5 -1
- package/core/scripts/download-chrome.sh +56 -13
- package/dist/report/bundle.esm.js +30 -13
- package/dist/report/flow.js +32 -15
- package/dist/report/standalone.js +32 -15
- package/flow-report/src/i18n/i18n.d.ts +4 -0
- package/package.json +5 -4
- package/report/assets/styles.css +25 -8
- package/report/assets/templates.html +1 -1
- package/report/clients/standalone.js +1 -0
- package/report/renderer/components.js +2 -2
- package/report/renderer/explodey-gauge.js +0 -1
- package/report/renderer/performance-category-renderer.js +4 -2
- package/report/renderer/report-renderer.js +12 -1
- package/report/renderer/report-ui-features.js +3 -2
- package/report/renderer/report-utils.d.ts +2 -0
- package/report/renderer/report-utils.js +8 -4
- package/report/types/report-renderer.d.ts +2 -0
- package/shared/localization/locales/ar-XB.json +34 -25
- package/shared/localization/locales/ar.json +35 -26
- package/shared/localization/locales/bg.json +34 -25
- package/shared/localization/locales/ca.json +35 -26
- package/shared/localization/locales/cs.json +34 -25
- package/shared/localization/locales/da.json +51 -42
- package/shared/localization/locales/de.json +38 -29
- package/shared/localization/locales/el.json +34 -25
- package/shared/localization/locales/en-GB.json +35 -26
- package/shared/localization/locales/en-US.json +26 -5
- package/shared/localization/locales/en-XA.json +34 -25
- package/shared/localization/locales/en-XL.json +26 -5
- package/shared/localization/locales/es-419.json +34 -25
- package/shared/localization/locales/es.json +34 -25
- package/shared/localization/locales/fi.json +34 -25
- package/shared/localization/locales/fil.json +35 -26
- package/shared/localization/locales/fr.json +34 -25
- package/shared/localization/locales/he.json +35 -26
- package/shared/localization/locales/hi.json +35 -26
- package/shared/localization/locales/hr.json +35 -26
- package/shared/localization/locales/hu.json +34 -25
- package/shared/localization/locales/id.json +34 -25
- package/shared/localization/locales/it.json +34 -25
- package/shared/localization/locales/ja.json +34 -25
- package/shared/localization/locales/ko.json +35 -26
- package/shared/localization/locales/lt.json +34 -25
- package/shared/localization/locales/lv.json +35 -26
- package/shared/localization/locales/nl.json +35 -26
- package/shared/localization/locales/no.json +34 -25
- package/shared/localization/locales/pl.json +34 -25
- package/shared/localization/locales/pt-PT.json +35 -26
- package/shared/localization/locales/pt.json +35 -26
- package/shared/localization/locales/ro.json +34 -25
- package/shared/localization/locales/ru.json +35 -26
- package/shared/localization/locales/sk.json +35 -26
- package/shared/localization/locales/sl.json +35 -26
- package/shared/localization/locales/sr-Latn.json +34 -25
- package/shared/localization/locales/sr.json +34 -25
- package/shared/localization/locales/sv.json +35 -26
- package/shared/localization/locales/ta.json +35 -26
- package/shared/localization/locales/te.json +35 -26
- package/shared/localization/locales/th.json +34 -25
- package/shared/localization/locales/tr.json +35 -26
- package/shared/localization/locales/uk.json +34 -25
- package/shared/localization/locales/vi.json +34 -25
- package/shared/localization/locales/zh-HK.json +35 -26
- package/shared/localization/locales/zh-TW.json +38 -29
- package/shared/localization/locales/zh.json +34 -25
- package/shared/util.d.ts +14 -2
- package/shared/util.js +25 -3
- package/tsconfig.json +2 -0
- package/types/artifacts.d.ts +5 -2
|
@@ -639,7 +639,7 @@
|
|
|
639
639
|
"message": "使用影片格式的動畫內容"
|
|
640
640
|
},
|
|
641
641
|
"core/audits/byte-efficiency/legacy-javascript.js | description": {
|
|
642
|
-
"message": "Polyfill 和轉換作業可讓舊版瀏覽器使用新版 JavaScript 的功能。不過這些功能對於新式瀏覽器而言,有很多都是不必要的。如果是 JavaScript 套件,請採用具備模組/非模組功能偵測機制的新型指令碼部署策略,以減少新式瀏覽器所需要的程式碼,同時保留對舊版瀏覽器的支援。[瞭解如何使用新版 JavaScript](https://web.dev/publish-modern-javascript
|
|
642
|
+
"message": "Polyfill 和轉換作業可讓舊版瀏覽器使用新版 JavaScript 的功能。不過這些功能對於新式瀏覽器而言,有很多都是不必要的。如果是 JavaScript 套件,請採用具備模組/非模組功能偵測機制的新型指令碼部署策略,以減少新式瀏覽器所需要的程式碼,同時保留對舊版瀏覽器的支援。[瞭解如何使用新版 JavaScript](https://web.dev/articles/publish-modern-javascript)"
|
|
643
643
|
},
|
|
644
644
|
"core/audits/byte-efficiency/legacy-javascript.js | title": {
|
|
645
645
|
"message": "避免將舊版 JavaScript 提供給新型瀏覽器"
|
|
@@ -993,7 +993,7 @@
|
|
|
993
993
|
"message": "預期大小"
|
|
994
994
|
},
|
|
995
995
|
"core/audits/image-size-responsive.js | description": {
|
|
996
|
-
"message": "圖片的實際尺寸應與顯示大小和像素比例成比例,才能呈現最清晰的圖片效果。[瞭解如何提供回應式圖片](https://web.dev/serve-responsive-images
|
|
996
|
+
"message": "圖片的實際尺寸應與顯示大小和像素比例成比例,才能呈現最清晰的圖片效果。[瞭解如何提供回應式圖片](https://web.dev/articles/serve-responsive-images)。"
|
|
997
997
|
},
|
|
998
998
|
"core/audits/image-size-responsive.js | failureTitle": {
|
|
999
999
|
"message": "提供的圖片解析度過低"
|
|
@@ -1023,7 +1023,7 @@
|
|
|
1023
1023
|
"message": "Play 商店應用程式網址與 Play 商店 ID 不符"
|
|
1024
1024
|
},
|
|
1025
1025
|
"core/audits/installable-manifest.js | in-incognito": {
|
|
1026
|
-
"message": "
|
|
1026
|
+
"message": "網頁透過無痕視窗載入"
|
|
1027
1027
|
},
|
|
1028
1028
|
"core/audits/installable-manifest.js | manifest-display-not-supported": {
|
|
1029
1029
|
"message": "資訊清單「`display`」屬性必須是「`standalone`」、「`fullscreen`」或「`minimal-ui`」其中之一"
|
|
@@ -1158,13 +1158,13 @@
|
|
|
1158
1158
|
"message": "對 CLS 的影響"
|
|
1159
1159
|
},
|
|
1160
1160
|
"core/audits/layout-shift-elements.js | description": {
|
|
1161
|
-
"message": "這些 DOM 元素對於網頁的「累計版面配置位移」(CLS) 影響最大。[瞭解如何改善 CLS](https://web.dev/optimize-cls
|
|
1161
|
+
"message": "這些 DOM 元素對於網頁的「累計版面配置位移」(CLS) 影響最大。[瞭解如何改善 CLS](https://web.dev/articles/optimize-cls)"
|
|
1162
1162
|
},
|
|
1163
1163
|
"core/audits/layout-shift-elements.js | title": {
|
|
1164
1164
|
"message": "避免大量版面配置轉移"
|
|
1165
1165
|
},
|
|
1166
1166
|
"core/audits/lcp-lazy-loaded.js | description": {
|
|
1167
|
-
"message": "不需捲動位置的圖片經過延遲載入後,會在頁面生命週期的較晚階段顯示,這可能會延遲最大內容繪製作業。[進一步瞭解如何讓延遲載入最佳化](https://web.dev/lcp-lazy-loading
|
|
1167
|
+
"message": "不需捲動位置的圖片經過延遲載入後,會在頁面生命週期的較晚階段顯示,這可能會延遲最大內容繪製作業。[進一步瞭解如何讓延遲載入最佳化](https://web.dev/articles/lcp-lazy-loading)。"
|
|
1168
1168
|
},
|
|
1169
1169
|
"core/audits/lcp-lazy-loaded.js | failureTitle": {
|
|
1170
1170
|
"message": "已延遲載入最大內容繪製圖片"
|
|
@@ -1173,7 +1173,7 @@
|
|
|
1173
1173
|
"message": "未延遲載入最大內容繪製圖片"
|
|
1174
1174
|
},
|
|
1175
1175
|
"core/audits/long-tasks.js | description": {
|
|
1176
|
-
"message": "列出主要執行緒上執行時間最長的工作,這項資訊有助於找出造成輸入延遲的主因。[瞭解如何避免冗長的主執行緒工作](https://web.dev/long-tasks-devtools
|
|
1176
|
+
"message": "列出主要執行緒上執行時間最長的工作,這項資訊有助於找出造成輸入延遲的主因。[瞭解如何避免冗長的主執行緒工作](https://web.dev/articles/long-tasks-devtools)"
|
|
1177
1177
|
},
|
|
1178
1178
|
"core/audits/long-tasks.js | displayValue": {
|
|
1179
1179
|
"message": "{itemCount,plural, =1{找到 # 項長時間執行的工作}other{找到 # 項長時間執行的工作}}"
|
|
@@ -1221,7 +1221,7 @@
|
|
|
1221
1221
|
"message": "資訊清單包含可遮蓋的圖示"
|
|
1222
1222
|
},
|
|
1223
1223
|
"core/audits/metrics/cumulative-layout-shift.js | description": {
|
|
1224
|
-
"message": "「累計版面配置轉移」指標是用於測量可見元素在可視區域內的移動情形。[進一步瞭解「累計版面配置位移」指標](https://web.dev/cls
|
|
1224
|
+
"message": "「累計版面配置轉移」指標是用於測量可見元素在可視區域內的移動情形。[進一步瞭解「累計版面配置位移」指標](https://web.dev/articles/cls)。"
|
|
1225
1225
|
},
|
|
1226
1226
|
"core/audits/metrics/first-contentful-paint.js | description": {
|
|
1227
1227
|
"message": "首次顯示內容所需時間是指瀏覽器首次顯示文字或圖片的時間。[進一步瞭解「首次顯示內容所需時間」指標](https://developer.chrome.com/docs/lighthouse/performance/first-contentful-paint/)。"
|
|
@@ -1230,7 +1230,7 @@
|
|
|
1230
1230
|
"message": "畫面首次有效顯示所需時間是指網頁顯示主要內容的時間。[進一步瞭解「畫面首次有效顯示所需時間」指標](https://developer.chrome.com/docs/lighthouse/performance/first-meaningful-paint/)。"
|
|
1231
1231
|
},
|
|
1232
1232
|
"core/audits/metrics/interaction-to-next-paint.js | description": {
|
|
1233
|
-
"message": "「與下一個顯示的內容互動」指標的用途是測量網頁回應,也就是網頁明顯回應使用者輸入內容所需的時間。[進一步瞭解「與下一個顯示的內容互動」指標](https://web.dev/inp
|
|
1233
|
+
"message": "「與下一個顯示的內容互動」指標的用途是測量網頁回應,也就是網頁明顯回應使用者輸入內容所需的時間。[進一步瞭解「與下一個顯示的內容互動」指標](https://web.dev/articles/inp)。"
|
|
1234
1234
|
},
|
|
1235
1235
|
"core/audits/metrics/interactive.js | description": {
|
|
1236
1236
|
"message": "互動準備時間是網頁進入完整互動狀態前花費的時間。[進一步瞭解「互動準備時間」指標](https://developer.chrome.com/docs/lighthouse/performance/interactive/)。"
|
|
@@ -1260,7 +1260,7 @@
|
|
|
1260
1260
|
"message": "伺服器後端延遲時間"
|
|
1261
1261
|
},
|
|
1262
1262
|
"core/audits/no-unload-listeners.js | description": {
|
|
1263
|
-
"message": "`unload` 事件無法穩定觸發,監聽該活動可能會妨礙系統進行某些瀏覽器最佳化作業 (例如往返快取)。請改用 `pagehide` 或 `visibilitychange` 事件。[進一步瞭解卸載事件監聽器](https://web.dev/bfcache
|
|
1263
|
+
"message": "`unload` 事件無法穩定觸發,監聽該活動可能會妨礙系統進行某些瀏覽器最佳化作業 (例如往返快取)。請改用 `pagehide` 或 `visibilitychange` 事件。[進一步瞭解卸載事件監聽器](https://web.dev/articles/bfcache#never_use_the_unload_event)"
|
|
1264
1264
|
},
|
|
1265
1265
|
"core/audits/no-unload-listeners.js | failureTitle": {
|
|
1266
1266
|
"message": "註冊 `unload` 事件監聽器"
|
|
@@ -1305,7 +1305,7 @@
|
|
|
1305
1305
|
"message": "效能預算"
|
|
1306
1306
|
},
|
|
1307
1307
|
"core/audits/preload-fonts.js | description": {
|
|
1308
|
-
"message": "請預先載入 `optional` 字型,以便新訪客使用。[進一步瞭解如何預先載入字型](https://web.dev/preload-optional-fonts
|
|
1308
|
+
"message": "請預先載入 `optional` 字型,以便新訪客使用。[進一步瞭解如何預先載入字型](https://web.dev/articles/preload-optional-fonts)"
|
|
1309
1309
|
},
|
|
1310
1310
|
"core/audits/preload-fonts.js | failureTitle": {
|
|
1311
1311
|
"message": "並未預先載入使用 `font-display: optional` 的字型"
|
|
@@ -1314,7 +1314,7 @@
|
|
|
1314
1314
|
"message": "已預先載入使用 `font-display: optional` 的字型"
|
|
1315
1315
|
},
|
|
1316
1316
|
"core/audits/prioritize-lcp-image.js | description": {
|
|
1317
|
-
"message": "如果 LCP 元素是以動態方式新增到網頁,則必須預先載入圖片才能改善 LCP。[進一步瞭解如何預先載入 LCP 元素](https://web.dev/optimize-lcp
|
|
1317
|
+
"message": "如果 LCP 元素是以動態方式新增到網頁,則必須預先載入圖片才能改善 LCP。[進一步瞭解如何預先載入 LCP 元素](https://web.dev/articles/optimize-lcp#optimize_when_the_resource_is_discovered)。"
|
|
1318
1318
|
},
|
|
1319
1319
|
"core/audits/prioritize-lcp-image.js | title": {
|
|
1320
1320
|
"message": "預先載入最大內容繪製圖片"
|
|
@@ -1587,7 +1587,7 @@
|
|
|
1587
1587
|
"message": "時間預算"
|
|
1588
1588
|
},
|
|
1589
1589
|
"core/audits/unsized-images.js | description": {
|
|
1590
|
-
"message": "請明確設定圖片元素的寬度和高度,以減少版面配置轉移並改善 CLS。[瞭解如何設定圖片尺寸](https://web.dev/optimize-cls
|
|
1590
|
+
"message": "請明確設定圖片元素的寬度和高度,以減少版面配置轉移並改善 CLS。[瞭解如何設定圖片尺寸](https://web.dev/articles/optimize-cls#images_without_dimensions)"
|
|
1591
1591
|
},
|
|
1592
1592
|
"core/audits/unsized-images.js | failureTitle": {
|
|
1593
1593
|
"message": "圖片元素沒有明確的`width`和`height`"
|
|
@@ -1662,7 +1662,7 @@
|
|
|
1662
1662
|
"message": "具備包含 `width` 或 `initial-scale` 的 `<meta name=\"viewport\">` 標記"
|
|
1663
1663
|
},
|
|
1664
1664
|
"core/audits/work-during-interaction.js | description": {
|
|
1665
|
-
"message": "這是在「與下一個顯示的內容互動」測量期間發生的執行緒封鎖作業。[進一步瞭解「與下一個顯示的內容互動」指標](https://web.dev/inp
|
|
1665
|
+
"message": "這是在「與下一個顯示的內容互動」測量期間發生的執行緒封鎖作業。[進一步瞭解「與下一個顯示的內容互動」指標](https://web.dev/articles/inp)。"
|
|
1666
1666
|
},
|
|
1667
1667
|
"core/audits/work-during-interaction.js | displayValue": {
|
|
1668
1668
|
"message": "事件「{interactionType}」花費了 {timeInMs, number, milliseconds} 毫秒"
|
|
@@ -1704,10 +1704,10 @@
|
|
|
1704
1704
|
"message": "最佳做法"
|
|
1705
1705
|
},
|
|
1706
1706
|
"core/config/default-config.js | a11yCategoryDescription": {
|
|
1707
|
-
"message": "這些檢查可找出[網頁應用程式無障礙設計值得改善之處](https://developer.chrome.com/docs/lighthouse/accessibility/)。自動偵測功能只能偵測出部分問題,而且無法保證網頁應用程式的無障礙程度,因此建議一併使用[手動測試](https://web.dev/how-to-review
|
|
1707
|
+
"message": "這些檢查可找出[網頁應用程式無障礙設計值得改善之處](https://developer.chrome.com/docs/lighthouse/accessibility/)。自動偵測功能只能偵測出部分問題,而且無法保證網頁應用程式的無障礙程度,因此建議一併使用[手動測試](https://web.dev/articles/how-to-review)。"
|
|
1708
1708
|
},
|
|
1709
1709
|
"core/config/default-config.js | a11yCategoryManualDescription": {
|
|
1710
|
-
"message": "這些稽核項目會檢查自動化測試工具未涵蓋的區域。詳情請參閱[無障礙功能審查的執行指南](https://web.dev/how-to-review
|
|
1710
|
+
"message": "這些稽核項目會檢查自動化測試工具未涵蓋的區域。詳情請參閱[無障礙功能審查的執行指南](https://web.dev/articles/how-to-review)。"
|
|
1711
1711
|
},
|
|
1712
1712
|
"core/config/default-config.js | a11yCategoryTitle": {
|
|
1713
1713
|
"message": "無障礙功能"
|
|
@@ -1794,10 +1794,10 @@
|
|
|
1794
1794
|
"message": "效能"
|
|
1795
1795
|
},
|
|
1796
1796
|
"core/config/default-config.js | pwaCategoryDescription": {
|
|
1797
|
-
"message": "這些檢查項目可從各個方面驗證漸進式網頁應用程式。[瞭解如何打造優質的漸進式網頁應用程式](https://web.dev/pwa-checklist
|
|
1797
|
+
"message": "這些檢查項目可從各個方面驗證漸進式網頁應用程式。[瞭解如何打造優質的漸進式網頁應用程式](https://web.dev/articles/pwa-checklist)。"
|
|
1798
1798
|
},
|
|
1799
1799
|
"core/config/default-config.js | pwaCategoryManualDescription": {
|
|
1800
|
-
"message": "這些是基本 [PWA 檢查清單](https://web.dev/pwa-checklist
|
|
1800
|
+
"message": "這些是基本 [PWA 檢查清單](https://web.dev/articles/pwa-checklist)規定的項目,但 Lighthouse 不會自動進行檢查。它們不會影響你的分數,但請務必手動驗證這些項目。"
|
|
1801
1801
|
},
|
|
1802
1802
|
"core/config/default-config.js | pwaCategoryTitle": {
|
|
1803
1803
|
"message": "PWA"
|
|
@@ -1809,7 +1809,7 @@
|
|
|
1809
1809
|
"message": "PWA 最佳化"
|
|
1810
1810
|
},
|
|
1811
1811
|
"core/config/default-config.js | seoCategoryDescription": {
|
|
1812
|
-
"message": "這些檢查項目可確保你的網頁採用基本的搜尋引擎最佳化建議。請注意,Lighthouse 這裡未列入評分的其他因素還有很多,這些因素也可能會影響你的網頁搜尋結果排名,包括[網站體驗核心指標](https://web.dev/
|
|
1812
|
+
"message": "這些檢查項目可確保你的網頁採用基本的搜尋引擎最佳化建議。請注意,Lighthouse 這裡未列入評分的其他因素還有很多,這些因素也可能會影響你的網頁搜尋結果排名,包括[網站體驗核心指標](https://web.dev/explore/vitals)的成效。[進一步瞭解 Google 搜尋基礎入門](https://support.google.com/webmasters/answer/35769)。"
|
|
1813
1813
|
},
|
|
1814
1814
|
"core/config/default-config.js | seoCategoryManualDescription": {
|
|
1815
1815
|
"message": "在您的網站上執行這些額外的驗證工具,以檢查其他 SEO 最佳做法。"
|
|
@@ -1848,7 +1848,7 @@
|
|
|
1848
1848
|
"message": "瀏覽器快取清除作業逾時,建議你再次稽核這個網頁。如果問題仍未解決,請回報錯誤。"
|
|
1849
1849
|
},
|
|
1850
1850
|
"core/gather/driver/storage.js | warningData": {
|
|
1851
|
-
"message": "{locationCount,plural, =1{下列位置可能有影響載入效能的儲存資料:{locations}
|
|
1851
|
+
"message": "{locationCount,plural, =1{下列位置可能有影響載入效能的儲存資料:{locations}。在無痕視窗中審核這個頁面可避免這些資源影響你的分數。}other{下列位置可能有影響載入效能的儲存資料:{locations}。在無痕視窗中審核這個頁面可避免這些資源影響你的分數。}}"
|
|
1852
1852
|
},
|
|
1853
1853
|
"core/gather/driver/storage.js | warningOriginDataTimeout": {
|
|
1854
1854
|
"message": "原始資料清除作業逾時,建議你再次稽核這個網頁。如果問題仍未解決,請回報錯誤。"
|
|
@@ -2643,7 +2643,7 @@
|
|
|
2643
2643
|
"message": "Lighthouse 無法穩定載入你要求的網頁。請確認你的測試網址是否正確,以及伺服器是否正確回應所有要求。(詳細資訊:{errorDetails})"
|
|
2644
2644
|
},
|
|
2645
2645
|
"core/lib/lh-error.js | pageLoadFailedWithStatusCode": {
|
|
2646
|
-
"message": "Lighthouse
|
|
2646
|
+
"message": "Lighthouse 無法穩定載入要求的網頁。請確認測試網址是否正確,以及伺服器是否正確回應所有要求 (狀態碼:{statusCode})。"
|
|
2647
2647
|
},
|
|
2648
2648
|
"core/lib/lh-error.js | pageLoadTookTooLong": {
|
|
2649
2649
|
"message": "網頁載入時間過長。請按照報告中的建議做法縮短網頁載入時間,然後嘗試重新執行 Lighthouse。({errorCode})"
|
|
@@ -2657,6 +2657,9 @@
|
|
|
2657
2657
|
"core/lib/lh-error.js | urlInvalid": {
|
|
2658
2658
|
"message": "你所提供的網址無效。"
|
|
2659
2659
|
},
|
|
2660
|
+
"core/lib/navigation-error.js | warningStatusCode": {
|
|
2661
|
+
"message": "Lighthouse 無法穩定載入要求的網頁。請確認測試網址是否正確,以及伺服器是否正確回應所有要求 (狀態碼:{errorCode})。"
|
|
2662
|
+
},
|
|
2660
2663
|
"core/lib/navigation-error.js | warningXhtml": {
|
|
2661
2664
|
"message": "網頁 MIME 類型為 XHTML:Lighthouse 未明確支援這種文件類型"
|
|
2662
2665
|
},
|
|
@@ -3108,22 +3111,22 @@
|
|
|
3108
3111
|
"message": "在 NitroPack 中使用「[`Gzip compression`](https://support.nitropack.io/hc/en-us/articles/13229297479313-Enabling-GZIP-compression)」,可減少傳送至瀏覽器的檔案大小。"
|
|
3109
3112
|
},
|
|
3110
3113
|
"node_modules/lighthouse-stack-packs/packs/nuxt.js | modern-image-formats": {
|
|
3111
|
-
"message": "請使用 `nuxt/image` 元件並設定 `format=\"webp\"`。[瞭解詳情](https://image.
|
|
3114
|
+
"message": "請使用 `nuxt/image` 元件並設定 `format=\"webp\"`。[瞭解詳情](https://image.nuxt.com/usage/nuxt-img#format)。"
|
|
3112
3115
|
},
|
|
3113
3116
|
"node_modules/lighthouse-stack-packs/packs/nuxt.js | offscreen-images": {
|
|
3114
|
-
"message": "如要延遲載入畫面外圖片,請使用 `nuxt/image` 元件並設定 `loading=\"lazy\"`。[瞭解詳情](https://image.
|
|
3117
|
+
"message": "如要延遲載入畫面外圖片,請使用 `nuxt/image` 元件並設定 `loading=\"lazy\"`。[瞭解詳情](https://image.nuxt.com/usage/nuxt-img#loading)。"
|
|
3115
3118
|
},
|
|
3116
3119
|
"node_modules/lighthouse-stack-packs/packs/nuxt.js | prioritize-lcp-image": {
|
|
3117
|
-
"message": "如要延遲載入 LCP 圖片,請使用 `nuxt/image` 元件並指定 `preload`。[瞭解詳情](https://image.
|
|
3120
|
+
"message": "如要延遲載入 LCP 圖片,請使用 `nuxt/image` 元件並指定 `preload`。[瞭解詳情](https://image.nuxt.com/usage/nuxt-img#preload)。"
|
|
3118
3121
|
},
|
|
3119
3122
|
"node_modules/lighthouse-stack-packs/packs/nuxt.js | unsized-images": {
|
|
3120
|
-
"message": "請使用 `nuxt/image` 元件,並明確指定 `width` 和 `height`。[瞭解詳情](https://image.
|
|
3123
|
+
"message": "請使用 `nuxt/image` 元件,並明確指定 `width` 和 `height`。[瞭解詳情](https://image.nuxt.com/usage/nuxt-img#width-height)。"
|
|
3121
3124
|
},
|
|
3122
3125
|
"node_modules/lighthouse-stack-packs/packs/nuxt.js | uses-optimized-images": {
|
|
3123
|
-
"message": "請使用 `nuxt/image` 元件設定適當的 `quality`。[瞭解詳情](https://image.
|
|
3126
|
+
"message": "請使用 `nuxt/image` 元件設定適當的 `quality`。[瞭解詳情](https://image.nuxt.com/usage/nuxt-img#quality)。"
|
|
3124
3127
|
},
|
|
3125
3128
|
"node_modules/lighthouse-stack-packs/packs/nuxt.js | uses-responsive-images": {
|
|
3126
|
-
"message": "請使用 `nuxt/image` 元件並設定適當的 `sizes`。[瞭解詳情](https://image.
|
|
3129
|
+
"message": "請使用 `nuxt/image` 元件並設定適當的 `sizes`。[瞭解詳情](https://image.nuxt.com/usage/nuxt-img#sizes)。"
|
|
3127
3130
|
},
|
|
3128
3131
|
"node_modules/lighthouse-stack-packs/packs/octobercms.js | efficient-animated-content": {
|
|
3129
3132
|
"message": "[用影片取代 GIF 動畫](https://web.dev/replace-gifs-with-videos/)以加快載入網頁,並考慮使用 [WebM](https://web.dev/replace-gifs-with-videos/#create-webm-videos) 或 [AV1](https://developers.google.com/web/updates/2018/09/chrome-70-media-updates#av1-decoder) 等新型檔案格式,這樣可讓目前最先進的視訊轉碼器 VP9 的壓縮效率再提高超過 30%。"
|
|
@@ -3273,7 +3276,7 @@
|
|
|
3273
3276
|
"message": "在「WP Rocket」中使用「[Prefetch DNS Requests](https://docs.wp-rocket.me/article/1302-prefetch-dns-requests)」,即可新增「dns-prefetch」並提高與外部網域的連線速度。此外,「WP Rocket」也會自動將「preconnect」新增到 [Google Fonts 網域](https://docs.wp-rocket.me/article/1312-optimize-google-fonts)和透過「[Enable CDN](https://docs.wp-rocket.me/article/42-using-wp-rocket-with-a-cdn)」功能新增的任何 CNAME。"
|
|
3274
3277
|
},
|
|
3275
3278
|
"node_modules/lighthouse-stack-packs/packs/wp-rocket.js | uses-rel-preload": {
|
|
3276
|
-
"message": "為解決這個字型問題,請在「WP Rocket」中啟用「[Remove Unused CSS](https://docs.wp-rocket.me/article/1529-remove-unused-css)
|
|
3279
|
+
"message": "為解決這個字型問題,請在「WP Rocket」中啟用「[Remove Unused CSS](https://docs.wp-rocket.me/article/1529-remove-unused-css)」,系統就會優先友善載入網站的重要字型。"
|
|
3277
3280
|
},
|
|
3278
3281
|
"report/renderer/report-utils.js | calculatorLink": {
|
|
3279
3282
|
"message": "查看計算機。"
|
|
@@ -3359,6 +3362,12 @@
|
|
|
3359
3362
|
"report/renderer/report-utils.js | runtimeAnalysisWindow": {
|
|
3360
3363
|
"message": "初次載入網頁"
|
|
3361
3364
|
},
|
|
3365
|
+
"report/renderer/report-utils.js | runtimeAnalysisWindowSnapshot": {
|
|
3366
|
+
"message": "特定時間點數據匯報"
|
|
3367
|
+
},
|
|
3368
|
+
"report/renderer/report-utils.js | runtimeAnalysisWindowTimespan": {
|
|
3369
|
+
"message": "使用者互動時間範圍"
|
|
3370
|
+
},
|
|
3362
3371
|
"report/renderer/report-utils.js | runtimeCustom": {
|
|
3363
3372
|
"message": "自訂節流"
|
|
3364
3373
|
},
|
|
@@ -3393,10 +3402,10 @@
|
|
|
3393
3402
|
"message": "使用者代理程式 (網路)"
|
|
3394
3403
|
},
|
|
3395
3404
|
"report/renderer/report-utils.js | runtimeSingleLoad": {
|
|
3396
|
-
"message": "
|
|
3405
|
+
"message": "單頁工作階段"
|
|
3397
3406
|
},
|
|
3398
3407
|
"report/renderer/report-utils.js | runtimeSingleLoadTooltip": {
|
|
3399
|
-
"message": "
|
|
3408
|
+
"message": "這項資料取自單頁工作階段,而非匯總多個工作階段的現場資料。"
|
|
3400
3409
|
},
|
|
3401
3410
|
"report/renderer/report-utils.js | runtimeSlow4g": {
|
|
3402
3411
|
"message": "慢速 4G 節流"
|
|
@@ -639,7 +639,7 @@
|
|
|
639
639
|
"message": "使用视频格式提供动画内容"
|
|
640
640
|
},
|
|
641
641
|
"core/audits/byte-efficiency/legacy-javascript.js | description": {
|
|
642
|
-
"message": "Polyfill 和 transform 让旧版浏览器能够使用新的 JavaScript 功能。不过,其中的很多函数对现代浏览器而言并不是必需的。对于捆绑的 JavaScript,请采用现代脚本部署策略,以便利用 module/nomodule 功能检测机制来减少传送到现代浏览器的代码量,同时保留对旧版浏览器的支持。[了解如何使用现代 JavaScript](https://web.dev/publish-modern-javascript
|
|
642
|
+
"message": "Polyfill 和 transform 让旧版浏览器能够使用新的 JavaScript 功能。不过,其中的很多函数对现代浏览器而言并不是必需的。对于捆绑的 JavaScript,请采用现代脚本部署策略,以便利用 module/nomodule 功能检测机制来减少传送到现代浏览器的代码量,同时保留对旧版浏览器的支持。[了解如何使用现代 JavaScript](https://web.dev/articles/publish-modern-javascript)"
|
|
643
643
|
},
|
|
644
644
|
"core/audits/byte-efficiency/legacy-javascript.js | title": {
|
|
645
645
|
"message": "应避免向新型浏览器提供旧版 JavaScript"
|
|
@@ -993,7 +993,7 @@
|
|
|
993
993
|
"message": "预期大小"
|
|
994
994
|
},
|
|
995
995
|
"core/audits/image-size-responsive.js | description": {
|
|
996
|
-
"message": "图片的自然尺寸应与显示屏大小及像素比成正比,这样才能令图片达到最清晰的显示效果。[了解如何提供自适应图片](https://web.dev/serve-responsive-images
|
|
996
|
+
"message": "图片的自然尺寸应与显示屏大小及像素比成正比,这样才能令图片达到最清晰的显示效果。[了解如何提供自适应图片](https://web.dev/articles/serve-responsive-images)。"
|
|
997
997
|
},
|
|
998
998
|
"core/audits/image-size-responsive.js | failureTitle": {
|
|
999
999
|
"message": "所提供的部分图片采用了较低的分辨率"
|
|
@@ -1158,13 +1158,13 @@
|
|
|
1158
1158
|
"message": "对 CLS 的影响程度"
|
|
1159
1159
|
},
|
|
1160
1160
|
"core/audits/layout-shift-elements.js | description": {
|
|
1161
|
-
"message": "这些 DOM 元素对该网页的 CLS 影响最大。[了解如何改善 CLS](https://web.dev/optimize-cls
|
|
1161
|
+
"message": "这些 DOM 元素对该网页的 CLS 影响最大。[了解如何改善 CLS](https://web.dev/articles/optimize-cls)"
|
|
1162
1162
|
},
|
|
1163
1163
|
"core/audits/layout-shift-elements.js | title": {
|
|
1164
1164
|
"message": "请避免出现大幅度的布局偏移"
|
|
1165
1165
|
},
|
|
1166
1166
|
"core/audits/lcp-lazy-loaded.js | description": {
|
|
1167
|
-
"message": "被延迟加载的首屏图片会在页面生命周期内的较晚时间渲染,这可能会致使系统延迟 Largest Contentful Paint。[详细了解最佳延迟加载](https://web.dev/lcp-lazy-loading
|
|
1167
|
+
"message": "被延迟加载的首屏图片会在页面生命周期内的较晚时间渲染,这可能会致使系统延迟 Largest Contentful Paint。[详细了解最佳延迟加载](https://web.dev/articles/lcp-lazy-loading)。"
|
|
1168
1168
|
},
|
|
1169
1169
|
"core/audits/lcp-lazy-loaded.js | failureTitle": {
|
|
1170
1170
|
"message": "Largest Contentful Paint 所对应的图片被延迟加载了"
|
|
@@ -1173,7 +1173,7 @@
|
|
|
1173
1173
|
"message": "Largest Contentful Paint 所对应的图片未被延迟加载"
|
|
1174
1174
|
},
|
|
1175
1175
|
"core/audits/long-tasks.js | description": {
|
|
1176
|
-
"message": "列出了主线程中运行时间最长的任务,有助于识别出导致输入延迟的最主要原因。[了解如何避免出现长时间运行的主线程任务](https://web.dev/long-tasks-devtools
|
|
1176
|
+
"message": "列出了主线程中运行时间最长的任务,有助于识别出导致输入延迟的最主要原因。[了解如何避免出现长时间运行的主线程任务](https://web.dev/articles/long-tasks-devtools)"
|
|
1177
1177
|
},
|
|
1178
1178
|
"core/audits/long-tasks.js | displayValue": {
|
|
1179
1179
|
"message": "{itemCount,plural, =1{发现了 # 项长时间运行的任务}other{发现了 # 项长时间运行的任务}}"
|
|
@@ -1221,7 +1221,7 @@
|
|
|
1221
1221
|
"message": "清单含有可遮罩的图标"
|
|
1222
1222
|
},
|
|
1223
1223
|
"core/audits/metrics/cumulative-layout-shift.js | description": {
|
|
1224
|
-
"message": "Cumulative Layout Shift 旨在衡量可见元素在视口内的移动情况。[详细了解 Cumulative Layout Shift 指标](https://web.dev/cls
|
|
1224
|
+
"message": "Cumulative Layout Shift 旨在衡量可见元素在视口内的移动情况。[详细了解 Cumulative Layout Shift 指标](https://web.dev/articles/cls)。"
|
|
1225
1225
|
},
|
|
1226
1226
|
"core/audits/metrics/first-contentful-paint.js | description": {
|
|
1227
1227
|
"message": "First Contentful Paint 标记了绘制出首个文本或首张图片的时间。[详细了解 First Contentful Paint 指标](https://developer.chrome.com/docs/lighthouse/performance/first-contentful-paint/)。"
|
|
@@ -1230,7 +1230,7 @@
|
|
|
1230
1230
|
"message": "“首次有效绘制时间”测量的是网页主要内容开始对用户显示的时间。[详细了解“首次有效绘制时间”指标](https://developer.chrome.com/docs/lighthouse/performance/first-meaningful-paint/)。"
|
|
1231
1231
|
},
|
|
1232
1232
|
"core/audits/metrics/interaction-to-next-paint.js | description": {
|
|
1233
|
-
"message": "Interaction to Next Paint 用于衡量网页响应速度,即网页需要多久才会明显响应用户输入。[详细了解 Interaction to Next Paint 指标](https://web.dev/inp
|
|
1233
|
+
"message": "Interaction to Next Paint 用于衡量网页响应速度,即网页需要多久才会明显响应用户输入。[详细了解 Interaction to Next Paint 指标](https://web.dev/articles/inp)。"
|
|
1234
1234
|
},
|
|
1235
1235
|
"core/audits/metrics/interactive.js | description": {
|
|
1236
1236
|
"message": "“Time to Interactive”是指网页需要多长时间才能提供完整的交互功能。[详细了解“Time to Interactive”指标](https://developer.chrome.com/docs/lighthouse/performance/interactive/)。"
|
|
@@ -1260,7 +1260,7 @@
|
|
|
1260
1260
|
"message": "服务器后端延迟"
|
|
1261
1261
|
},
|
|
1262
1262
|
"core/audits/no-unload-listeners.js | description": {
|
|
1263
|
-
"message": "“`unload`”事件不会可靠地触发,而且监听该事件可能会妨碍系统实施“往返缓存”之类的浏览器优化策略。请改用“`pagehide`”或“`visibilitychange`”事件。[详细了解如何卸载事件监听器](https://web.dev/bfcache
|
|
1263
|
+
"message": "“`unload`”事件不会可靠地触发,而且监听该事件可能会妨碍系统实施“往返缓存”之类的浏览器优化策略。请改用“`pagehide`”或“`visibilitychange`”事件。[详细了解如何卸载事件监听器](https://web.dev/articles/bfcache#never_use_the_unload_event)"
|
|
1264
1264
|
},
|
|
1265
1265
|
"core/audits/no-unload-listeners.js | failureTitle": {
|
|
1266
1266
|
"message": "注册“`unload`”事件监听器"
|
|
@@ -1305,7 +1305,7 @@
|
|
|
1305
1305
|
"message": "性能预算"
|
|
1306
1306
|
},
|
|
1307
1307
|
"core/audits/preload-fonts.js | description": {
|
|
1308
|
-
"message": "请预加载 `optional` 字体以方便初访者使用。[详细了解如何预加载字体](https://web.dev/preload-optional-fonts
|
|
1308
|
+
"message": "请预加载 `optional` 字体以方便初访者使用。[详细了解如何预加载字体](https://web.dev/articles/preload-optional-fonts)"
|
|
1309
1309
|
},
|
|
1310
1310
|
"core/audits/preload-fonts.js | failureTitle": {
|
|
1311
1311
|
"message": "未预加载使用 `font-display: optional` 的字体"
|
|
@@ -1314,7 +1314,7 @@
|
|
|
1314
1314
|
"message": "已预加载使用 `font-display: optional` 的字体"
|
|
1315
1315
|
},
|
|
1316
1316
|
"core/audits/prioritize-lcp-image.js | description": {
|
|
1317
|
-
"message": "如果向网页中动态添加 LCP 元素,您应预加载图片以缩短 LCP 用时。[详细了解如何预加载 LCP 元素](https://web.dev/optimize-lcp
|
|
1317
|
+
"message": "如果向网页中动态添加 LCP 元素,您应预加载图片以缩短 LCP 用时。[详细了解如何预加载 LCP 元素](https://web.dev/articles/optimize-lcp#optimize_when_the_resource_is_discovered)。"
|
|
1318
1318
|
},
|
|
1319
1319
|
"core/audits/prioritize-lcp-image.js | title": {
|
|
1320
1320
|
"message": "预加载 LCP 元素所用图片"
|
|
@@ -1587,7 +1587,7 @@
|
|
|
1587
1587
|
"message": "时间预算"
|
|
1588
1588
|
},
|
|
1589
1589
|
"core/audits/unsized-images.js | description": {
|
|
1590
|
-
"message": "请为图片元素设置明确的宽度值和高度值,以减少布局偏移并改善 CLS。[了解如何设置图片尺寸](https://web.dev/optimize-cls
|
|
1590
|
+
"message": "请为图片元素设置明确的宽度值和高度值,以减少布局偏移并改善 CLS。[了解如何设置图片尺寸](https://web.dev/articles/optimize-cls#images_without_dimensions)"
|
|
1591
1591
|
},
|
|
1592
1592
|
"core/audits/unsized-images.js | failureTitle": {
|
|
1593
1593
|
"message": "图片元素没有明确的`width`和`height`"
|
|
@@ -1662,7 +1662,7 @@
|
|
|
1662
1662
|
"message": "具有包含 `width` 或 `initial-scale` 的 `<meta name=\"viewport\">` 标记"
|
|
1663
1663
|
},
|
|
1664
1664
|
"core/audits/work-during-interaction.js | description": {
|
|
1665
|
-
"message": "这是在 Interaction to Next Paint 测量期间发生的线程阻塞工作。[详细了解 Interaction to Next Paint 指标](https://web.dev/inp
|
|
1665
|
+
"message": "这是在 Interaction to Next Paint 测量期间发生的线程阻塞工作。[详细了解 Interaction to Next Paint 指标](https://web.dev/articles/inp)。"
|
|
1666
1666
|
},
|
|
1667
1667
|
"core/audits/work-during-interaction.js | displayValue": {
|
|
1668
1668
|
"message": "事件“{interactionType}”花费了 {timeInMs, number, milliseconds} 毫秒"
|
|
@@ -1704,10 +1704,10 @@
|
|
|
1704
1704
|
"message": "最佳做法"
|
|
1705
1705
|
},
|
|
1706
1706
|
"core/config/default-config.js | a11yCategoryDescription": {
|
|
1707
|
-
"message": "这些检查会突出显示可[改进您 Web 应用的无障碍功能](https://developer.chrome.com/docs/lighthouse/accessibility/)的提示。自动检测功能只能检测到一部分问题,无法保证您 Web 应用的无障碍程度,因此您不妨再[手动测试](https://web.dev/how-to-review
|
|
1707
|
+
"message": "这些检查会突出显示可[改进您 Web 应用的无障碍功能](https://developer.chrome.com/docs/lighthouse/accessibility/)的提示。自动检测功能只能检测到一部分问题,无法保证您 Web 应用的无障碍程度,因此您不妨再[手动测试](https://web.dev/articles/how-to-review)一下。"
|
|
1708
1708
|
},
|
|
1709
1709
|
"core/config/default-config.js | a11yCategoryManualDescription": {
|
|
1710
|
-
"message": "这些条目旨在检查自动化测试工具未涵盖的方面。如需了解详情,请参阅有关如何[执行无障碍功能审查](https://web.dev/how-to-review
|
|
1710
|
+
"message": "这些条目旨在检查自动化测试工具未涵盖的方面。如需了解详情,请参阅有关如何[执行无障碍功能审查](https://web.dev/articles/how-to-review)的指南。"
|
|
1711
1711
|
},
|
|
1712
1712
|
"core/config/default-config.js | a11yCategoryTitle": {
|
|
1713
1713
|
"message": "无障碍"
|
|
@@ -1794,10 +1794,10 @@
|
|
|
1794
1794
|
"message": "性能"
|
|
1795
1795
|
},
|
|
1796
1796
|
"core/config/default-config.js | pwaCategoryDescription": {
|
|
1797
|
-
"message": "此类检查会验证渐进式 Web 应用的各个方面。[了解如何构建优秀的渐进式 Web 应用](https://web.dev/pwa-checklist
|
|
1797
|
+
"message": "此类检查会验证渐进式 Web 应用的各个方面。[了解如何构建优秀的渐进式 Web 应用](https://web.dev/articles/pwa-checklist)。"
|
|
1798
1798
|
},
|
|
1799
1799
|
"core/config/default-config.js | pwaCategoryManualDescription": {
|
|
1800
|
-
"message": "基准 [PWA 核对清单](https://web.dev/pwa-checklist
|
|
1800
|
+
"message": "基准 [PWA 核对清单](https://web.dev/articles/pwa-checklist)要求必须进行此类检查,但 Lighthouse 不会自动进行此类检查。它们不会影响您的得分,但您必须手动对其进行验证。"
|
|
1801
1801
|
},
|
|
1802
1802
|
"core/config/default-config.js | pwaCategoryTitle": {
|
|
1803
1803
|
"message": "PWA"
|
|
@@ -1809,7 +1809,7 @@
|
|
|
1809
1809
|
"message": "优化 PWA"
|
|
1810
1810
|
},
|
|
1811
1811
|
"core/config/default-config.js | seoCategoryDescription": {
|
|
1812
|
-
"message": "此类检查可确保您的网页遵循了基本的搜索引擎优化建议。还有很多其他因素可能会影响您的网页在搜索引擎结果中的排名,但未被 Lighthouse 纳入此处的评估范围,其中包括[核心网页指标](https://web.dev/
|
|
1812
|
+
"message": "此类检查可确保您的网页遵循了基本的搜索引擎优化建议。还有很多其他因素可能会影响您的网页在搜索引擎结果中的排名,但未被 Lighthouse 纳入此处的评估范围,其中包括[核心网页指标](https://web.dev/explore/vitals)衡量结果。[详细了解 Google Search Essentials](https://support.google.com/webmasters/answer/35769)。"
|
|
1813
1813
|
},
|
|
1814
1814
|
"core/config/default-config.js | seoCategoryManualDescription": {
|
|
1815
1815
|
"message": "请在您的网站上运行这些额外的验证程序,以检查其他 SEO 最佳做法。"
|
|
@@ -2657,6 +2657,9 @@
|
|
|
2657
2657
|
"core/lib/lh-error.js | urlInvalid": {
|
|
2658
2658
|
"message": "您提供的网址似乎无效。"
|
|
2659
2659
|
},
|
|
2660
|
+
"core/lib/navigation-error.js | warningStatusCode": {
|
|
2661
|
+
"message": "Lighthouse 无法可靠地加载您请求的页面。请确保您测试的网址正确无误并且服务器可正确响应所有请求。(状态代码:{errorCode})"
|
|
2662
|
+
},
|
|
2660
2663
|
"core/lib/navigation-error.js | warningXhtml": {
|
|
2661
2664
|
"message": "页面 MIME 类型为 XHTML:Lighthouse 未明确支持此文档类型"
|
|
2662
2665
|
},
|
|
@@ -3108,22 +3111,22 @@
|
|
|
3108
3111
|
"message": "在 NitroPack 中使用 [`Gzip compression`](https://support.nitropack.io/hc/en-us/articles/13229297479313-Enabling-GZIP-compression) 可缩减向浏览器发送的文件的大小。"
|
|
3109
3112
|
},
|
|
3110
3113
|
"node_modules/lighthouse-stack-packs/packs/nuxt.js | modern-image-formats": {
|
|
3111
|
-
"message": "请使用 `nuxt/image` 组件并采用如下设置:`format=\"webp\"`。[了解详情](https://image.
|
|
3114
|
+
"message": "请使用 `nuxt/image` 组件并采用如下设置:`format=\"webp\"`。[了解详情](https://image.nuxt.com/usage/nuxt-img#format)。"
|
|
3112
3115
|
},
|
|
3113
3116
|
"node_modules/lighthouse-stack-packs/packs/nuxt.js | offscreen-images": {
|
|
3114
|
-
"message": "对于屏幕外图片,请使用 `nuxt/image` 组件并采用如下设置:`loading=\"lazy\"`。[了解详情](https://image.
|
|
3117
|
+
"message": "对于屏幕外图片,请使用 `nuxt/image` 组件并采用如下设置:`loading=\"lazy\"`。[了解详情](https://image.nuxt.com/usage/nuxt-img#loading)。"
|
|
3115
3118
|
},
|
|
3116
3119
|
"node_modules/lighthouse-stack-packs/packs/nuxt.js | prioritize-lcp-image": {
|
|
3117
|
-
"message": "对于 LCP 图片,请使用 `nuxt/image` 组件并指定 `preload`。[了解详情](https://image.
|
|
3120
|
+
"message": "对于 LCP 图片,请使用 `nuxt/image` 组件并指定 `preload`。[了解详情](https://image.nuxt.com/usage/nuxt-img#preload)。"
|
|
3118
3121
|
},
|
|
3119
3122
|
"node_modules/lighthouse-stack-packs/packs/nuxt.js | unsized-images": {
|
|
3120
|
-
"message": "请使用 `nuxt/image` 组件并指定明确的 `width` 和 `height`。[了解详情](https://image.
|
|
3123
|
+
"message": "请使用 `nuxt/image` 组件并指定明确的 `width` 和 `height`。[了解详情](https://image.nuxt.com/usage/nuxt-img#width-height)。"
|
|
3121
3124
|
},
|
|
3122
3125
|
"node_modules/lighthouse-stack-packs/packs/nuxt.js | uses-optimized-images": {
|
|
3123
|
-
"message": "请使用 `nuxt/image` 组件并设置适当的 `quality`。[了解详情](https://image.
|
|
3126
|
+
"message": "请使用 `nuxt/image` 组件并设置适当的 `quality`。[了解详情](https://image.nuxt.com/usage/nuxt-img#quality)。"
|
|
3124
3127
|
},
|
|
3125
3128
|
"node_modules/lighthouse-stack-packs/packs/nuxt.js | uses-responsive-images": {
|
|
3126
|
-
"message": "请使用 `nuxt/image` 组件并设置适当的 `sizes`。[了解详情](https://image.
|
|
3129
|
+
"message": "请使用 `nuxt/image` 组件并设置适当的 `sizes`。[了解详情](https://image.nuxt.com/usage/nuxt-img#sizes)。"
|
|
3127
3130
|
},
|
|
3128
3131
|
"node_modules/lighthouse-stack-packs/packs/octobercms.js | efficient-animated-content": {
|
|
3129
3132
|
"message": "[将 GIF 动画替换为视频](https://web.dev/replace-gifs-with-videos/)以提高网页加载速度,并考虑使用现代文件格式(例如 [WebM](https://web.dev/replace-gifs-with-videos/#create-webm-videos) 或 [AV1](https://developers.google.com/web/updates/2018/09/chrome-70-media-updates#av1-decoder)),通过目前最先进的 VP9 视频编解码器将压缩效率提高 30% 以上。"
|
|
@@ -3359,6 +3362,12 @@
|
|
|
3359
3362
|
"report/renderer/report-utils.js | runtimeAnalysisWindow": {
|
|
3360
3363
|
"message": "初始网页加载"
|
|
3361
3364
|
},
|
|
3365
|
+
"report/renderer/report-utils.js | runtimeAnalysisWindowSnapshot": {
|
|
3366
|
+
"message": "时间点快照"
|
|
3367
|
+
},
|
|
3368
|
+
"report/renderer/report-utils.js | runtimeAnalysisWindowTimespan": {
|
|
3369
|
+
"message": "用户互动时间跨度"
|
|
3370
|
+
},
|
|
3362
3371
|
"report/renderer/report-utils.js | runtimeCustom": {
|
|
3363
3372
|
"message": "自定义节流"
|
|
3364
3373
|
},
|
|
@@ -3393,10 +3402,10 @@
|
|
|
3393
3402
|
"message": "用户代理(网络)"
|
|
3394
3403
|
},
|
|
3395
3404
|
"report/renderer/report-utils.js | runtimeSingleLoad": {
|
|
3396
|
-
"message": "
|
|
3405
|
+
"message": "单页会话"
|
|
3397
3406
|
},
|
|
3398
3407
|
"report/renderer/report-utils.js | runtimeSingleLoadTooltip": {
|
|
3399
|
-
"message": "
|
|
3408
|
+
"message": "此数据是取自单页会话,现场数据则是汇总了许多次会话。"
|
|
3400
3409
|
},
|
|
3401
3410
|
"report/renderer/report-utils.js | runtimeSlow4g": {
|
|
3402
3411
|
"message": "低速 4G 节流"
|
package/shared/util.d.ts
CHANGED
|
@@ -37,6 +37,13 @@ export class Util {
|
|
|
37
37
|
* @return {LH.Result.FullPageScreenshot=}
|
|
38
38
|
*/
|
|
39
39
|
static getFullPageScreenshot(lhr: LH.Result): LH.Result.FullPageScreenshot | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* Given the entity classification dataset and a URL, identify the entity.
|
|
42
|
+
* @param {string} url
|
|
43
|
+
* @param {LH.Result.Entities=} entities
|
|
44
|
+
* @return {LH.Result.LhrEntity|string}
|
|
45
|
+
*/
|
|
46
|
+
static getEntityFromUrl(url: string, entities?: LH.Result.Entities | undefined): LH.Result.LhrEntity | string;
|
|
40
47
|
/**
|
|
41
48
|
* Split a string by markdown code spans (enclosed in `backticks`), splitting
|
|
42
49
|
* into segments that were enclosed in backticks (marked as `isCode === true`)
|
|
@@ -106,17 +113,22 @@ export class Util {
|
|
|
106
113
|
static createOrReturnURL(value: string | URL): URL;
|
|
107
114
|
/**
|
|
108
115
|
* Gets the tld of a domain
|
|
116
|
+
* This function is used only while rendering pre-10.0 LHRs.
|
|
109
117
|
*
|
|
110
118
|
* @param {string} hostname
|
|
111
119
|
* @return {string} tld
|
|
112
120
|
*/
|
|
113
|
-
static
|
|
121
|
+
static getPseudoTld(hostname: string): string;
|
|
114
122
|
/**
|
|
115
123
|
* Returns a primary domain for provided hostname (e.g. www.example.com -> example.com).
|
|
124
|
+
* As it doesn't consult the Public Suffix List, it can sometimes lose detail.
|
|
125
|
+
* See the `listOfTlds` comment above for more.
|
|
126
|
+
* This function is used only while rendering pre-10.0 LHRs. See UrlUtils.getRootDomain
|
|
127
|
+
* for the current method that makes use of PSL.
|
|
116
128
|
* @param {string|URL} url hostname or URL object
|
|
117
129
|
* @return {string}
|
|
118
130
|
*/
|
|
119
|
-
static
|
|
131
|
+
static getPseudoRootDomain(url: string | URL): string;
|
|
120
132
|
/**
|
|
121
133
|
* Returns only lines that are near a message, or the first few lines if there are
|
|
122
134
|
* no line messages.
|
package/shared/util.js
CHANGED
|
@@ -77,6 +77,23 @@ class Util {
|
|
|
77
77
|
return details;
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
+
/**
|
|
81
|
+
* Given the entity classification dataset and a URL, identify the entity.
|
|
82
|
+
* @param {string} url
|
|
83
|
+
* @param {LH.Result.Entities=} entities
|
|
84
|
+
* @return {LH.Result.LhrEntity|string}
|
|
85
|
+
*/
|
|
86
|
+
static getEntityFromUrl(url, entities) {
|
|
87
|
+
// If it's a pre-v10 LHR, we don't have entities, so match against the root-ish domain
|
|
88
|
+
if (!entities) {
|
|
89
|
+
return Util.getPseudoRootDomain(url);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
const entity = entities.find(e => e.origins.find(origin => url.startsWith(origin)));
|
|
93
|
+
// This fallback case would be unexpected, but leaving for safety.
|
|
94
|
+
return entity || Util.getPseudoRootDomain(url);
|
|
95
|
+
}
|
|
96
|
+
|
|
80
97
|
/**
|
|
81
98
|
* Split a string by markdown code spans (enclosed in `backticks`), splitting
|
|
82
99
|
* into segments that were enclosed in backticks (marked as `isCode === true`)
|
|
@@ -292,11 +309,12 @@ class Util {
|
|
|
292
309
|
|
|
293
310
|
/**
|
|
294
311
|
* Gets the tld of a domain
|
|
312
|
+
* This function is used only while rendering pre-10.0 LHRs.
|
|
295
313
|
*
|
|
296
314
|
* @param {string} hostname
|
|
297
315
|
* @return {string} tld
|
|
298
316
|
*/
|
|
299
|
-
static
|
|
317
|
+
static getPseudoTld(hostname) {
|
|
300
318
|
const tlds = hostname.split('.').slice(-2);
|
|
301
319
|
|
|
302
320
|
if (!listOfTlds.includes(tlds[0])) {
|
|
@@ -308,12 +326,16 @@ class Util {
|
|
|
308
326
|
|
|
309
327
|
/**
|
|
310
328
|
* Returns a primary domain for provided hostname (e.g. www.example.com -> example.com).
|
|
329
|
+
* As it doesn't consult the Public Suffix List, it can sometimes lose detail.
|
|
330
|
+
* See the `listOfTlds` comment above for more.
|
|
331
|
+
* This function is used only while rendering pre-10.0 LHRs. See UrlUtils.getRootDomain
|
|
332
|
+
* for the current method that makes use of PSL.
|
|
311
333
|
* @param {string|URL} url hostname or URL object
|
|
312
334
|
* @return {string}
|
|
313
335
|
*/
|
|
314
|
-
static
|
|
336
|
+
static getPseudoRootDomain(url) {
|
|
315
337
|
const hostname = Util.createOrReturnURL(url).hostname;
|
|
316
|
-
const tld = Util.
|
|
338
|
+
const tld = Util.getPseudoTld(hostname);
|
|
317
339
|
|
|
318
340
|
// tld is .com or .co.uk which means we means that length is 1 to big
|
|
319
341
|
// .com => 2 & .co.uk => 3
|
package/tsconfig.json
CHANGED
|
@@ -84,6 +84,7 @@
|
|
|
84
84
|
"core/test/lib/page-functions-test.js",
|
|
85
85
|
"core/test/lib/proto-preprocessor-test.js",
|
|
86
86
|
"core/test/lib/rect-helpers-test.js",
|
|
87
|
+
"core/test/lib/script-helpers-test.js",
|
|
87
88
|
"core/test/lib/sentry-test.js",
|
|
88
89
|
"core/test/lib/stack-packs-test.js",
|
|
89
90
|
"core/test/lib/statistics-test.js",
|
|
@@ -103,6 +104,7 @@
|
|
|
103
104
|
// Opt-in to typechecking for some core tests and test-support files.
|
|
104
105
|
"cli/test/fixtures/static-server.js",
|
|
105
106
|
"core/test/audits/bf-cache-test.js",
|
|
107
|
+
"core/test/audits/third-party-cookies-test.js",
|
|
106
108
|
"core/test/audits/script-treemap-data-test.js",
|
|
107
109
|
"core/test/computed/metrics/interactive-test.js",
|
|
108
110
|
"core/test/computed/tbt-impact-tasks-test.js",
|
package/types/artifacts.d.ts
CHANGED
|
@@ -53,6 +53,8 @@ interface UniversalBaseArtifacts {
|
|
|
53
53
|
HostFormFactor: 'desktop'|'mobile';
|
|
54
54
|
/** The user agent string of the version of Chrome used. */
|
|
55
55
|
HostUserAgent: string;
|
|
56
|
+
/** The product string of the version of Chrome used. Example: HeadlessChrome/123.2.2.0 would be from old headless. */
|
|
57
|
+
HostProduct: string;
|
|
56
58
|
/** Information about how Lighthouse artifacts were gathered. */
|
|
57
59
|
GatherContext: {gatherMode: Gatherer.GatherMode};
|
|
58
60
|
}
|
|
@@ -558,9 +560,8 @@ declare module Artifacts {
|
|
|
558
560
|
|
|
559
561
|
interface TraceElement {
|
|
560
562
|
traceEventType: 'largest-contentful-paint'|'layout-shift'|'animation'|'responsiveness';
|
|
561
|
-
score?: number;
|
|
562
563
|
node: NodeDetails;
|
|
563
|
-
nodeId
|
|
564
|
+
nodeId: number;
|
|
564
565
|
animations?: {name?: string, failureReasonsMask?: number, unsupportedProperties?: string[]}[];
|
|
565
566
|
type?: string;
|
|
566
567
|
}
|
|
@@ -1016,6 +1017,8 @@ export interface TraceEvent {
|
|
|
1016
1017
|
type?: string;
|
|
1017
1018
|
functionName?: string;
|
|
1018
1019
|
name?: string;
|
|
1020
|
+
duration?: number;
|
|
1021
|
+
blockingDuration?: number;
|
|
1019
1022
|
};
|
|
1020
1023
|
frame?: string;
|
|
1021
1024
|
name?: string;
|