From fc7dc87d683116f42ca6a1a35b41a1c6d6de97e6 Mon Sep 17 00:00:00 2001 From: Adam Raine <6752989+adamraine@users.noreply.github.com> Date: Wed, 27 Mar 2024 09:35:37 -0700 Subject: [PATCH] core: remove `no-unload-listeners` audit (#15874) --- .../test-definitions/dobetterweb.js | 20 - core/audits/no-unload-listeners.js | 86 --- core/config/default-config.js | 3 - core/gather/gatherers/global-listeners.js | 108 --- core/test/audits/no-unload-listeners-test.js | 91 --- .../reports/sample-flow-result.json | 626 ++++++++---------- .../gather/gatherers/global-listeners-test.js | 54 -- core/test/results/sample_v2.json | 48 +- .../__snapshots__/api-test-pptr.js.snap | 4 - .../test/generator/report-generator-test.js | 2 +- shared/localization/locales/ar-XB.json | 9 - shared/localization/locales/ar.json | 9 - shared/localization/locales/bg.json | 9 - shared/localization/locales/ca.json | 9 - shared/localization/locales/cs.json | 9 - shared/localization/locales/da.json | 9 - shared/localization/locales/de.json | 9 - shared/localization/locales/el.json | 9 - shared/localization/locales/en-GB.json | 9 - shared/localization/locales/en-US.json | 9 - shared/localization/locales/en-XA.json | 9 - shared/localization/locales/en-XL.json | 9 - shared/localization/locales/es-419.json | 9 - shared/localization/locales/es.json | 9 - shared/localization/locales/fi.json | 9 - shared/localization/locales/fil.json | 9 - shared/localization/locales/fr.json | 9 - shared/localization/locales/he.json | 9 - shared/localization/locales/hi.json | 9 - shared/localization/locales/hr.json | 9 - shared/localization/locales/hu.json | 9 - shared/localization/locales/id.json | 9 - shared/localization/locales/it.json | 9 - shared/localization/locales/ja.json | 9 - shared/localization/locales/ko.json | 9 - shared/localization/locales/lt.json | 9 - shared/localization/locales/lv.json | 9 - shared/localization/locales/nl.json | 9 - shared/localization/locales/no.json | 9 - shared/localization/locales/pl.json | 9 - shared/localization/locales/pt-PT.json | 9 - shared/localization/locales/pt.json | 9 - shared/localization/locales/ro.json | 9 - shared/localization/locales/ru.json | 9 - shared/localization/locales/sk.json | 9 - shared/localization/locales/sl.json | 9 - shared/localization/locales/sr-Latn.json | 9 - shared/localization/locales/sr.json | 9 - shared/localization/locales/sv.json | 9 - shared/localization/locales/ta.json | 9 - shared/localization/locales/te.json | 9 - shared/localization/locales/th.json | 9 - shared/localization/locales/tr.json | 9 - shared/localization/locales/uk.json | 9 - shared/localization/locales/vi.json | 9 - shared/localization/locales/zh-HK.json | 9 - shared/localization/locales/zh-TW.json | 9 - shared/localization/locales/zh.json | 9 - .../e2e/lighthouse/navigation_test.ts | 4 +- .../e2e/lighthouse/timespan_test.ts | 2 +- 60 files changed, 282 insertions(+), 1198 deletions(-) delete mode 100644 core/audits/no-unload-listeners.js delete mode 100644 core/gather/gatherers/global-listeners.js delete mode 100644 core/test/audits/no-unload-listeners-test.js delete mode 100644 core/test/gather/gatherers/global-listeners-test.js diff --git a/cli/test/smokehouse/test-definitions/dobetterweb.js b/cli/test/smokehouse/test-definitions/dobetterweb.js index 1c965fa485ee..5547b0768805 100644 --- a/cli/test/smokehouse/test-definitions/dobetterweb.js +++ b/cli/test/smokehouse/test-definitions/dobetterweb.js @@ -207,12 +207,6 @@ const expectations = { }, }, ], - GlobalListeners: [{ - type: 'unload', - scriptId: /^\d+$/, - lineNumber: '>300', - columnNumber: '>30', - }], DevtoolsLog: { _includes: [ // Ensure we are getting async call stacks. @@ -479,20 +473,6 @@ const expectations = { ], }, }, - 'no-unload-listeners': { - score: 0, - details: { - items: [{ - source: { - type: 'source-location', - url: 'http://localhost:10200/dobetterweb/dbw_tester.html', - urlProvider: 'network', - line: '>300', - column: '>30', - }, - }], - }, - }, 'bf-cache': { details: { items: [ diff --git a/core/audits/no-unload-listeners.js b/core/audits/no-unload-listeners.js deleted file mode 100644 index 9291cb3010fc..000000000000 --- a/core/audits/no-unload-listeners.js +++ /dev/null @@ -1,86 +0,0 @@ -/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */ - -import {Audit} from './audit.js'; -import {JSBundles} from '../computed/js-bundles.js'; -import * as i18n from './../lib/i18n/i18n.js'; - -const UIStrings = { - /** Descriptive title of a Lighthouse audit that checks if a web page has 'unload' event listeners and finds none. */ - title: 'Avoids `unload` event listeners', - /** Descriptive title of a Lighthouse audit that checks if a web page has 'unload' event listeners and finds that it is using them. */ - failureTitle: 'Registers an `unload` listener', - /** Description of a Lighthouse audit that tells the user why pages should not use the 'unload' event. This is displayed after a user expands the section to see more. The last sentence starting with 'Learn' becomes link text to additional documentation. */ - description: 'The `unload` event does not fire reliably and listening for it can prevent browser optimizations like the Back-Forward Cache. Use `pagehide` or `visibilitychange` events instead. [Learn more about unload event listeners](https://web.dev/articles/bfcache#never_use_the_unload_event)', -}; - -const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings); - -class NoUnloadListeners extends Audit { - /** - * @return {LH.Audit.Meta} - */ - static get meta() { - return { - id: 'no-unload-listeners', - title: str_(UIStrings.title), - failureTitle: str_(UIStrings.failureTitle), - description: str_(UIStrings.description), - requiredArtifacts: ['GlobalListeners', 'SourceMaps', 'Scripts'], - }; - } - - /** - * @param {LH.Artifacts} artifacts - * @param {LH.Audit.Context} context - * @return {Promise} - */ - static async audit(artifacts, context) { - const unloadListeners = artifacts.GlobalListeners.filter(l => l.type === 'unload'); - if (!unloadListeners.length) { - return { - score: 1, - }; - } - - const bundles = await JSBundles.request(artifacts, context); - - /** @type {LH.Audit.Details.Table['headings']} */ - const headings = [ - {key: 'source', valueType: 'source-location', label: str_(i18n.UIStrings.columnSource)}, - ]; - - /** @type {Array<{source: LH.Audit.Details.ItemValue}>} */ - const tableItems = unloadListeners.map(listener => { - const {lineNumber, columnNumber} = listener; - const script = artifacts.Scripts.find(s => s.scriptId === listener.scriptId); - - // If we can't find a url, still show something so the user can manually - // look for where an `unload` handler is being created. - if (!script) { - return { - source: { - type: 'url', - value: `(unknown):${lineNumber}:${columnNumber}`, - }, - }; - } - - const bundle = bundles.find(bundle => bundle.script.scriptId === script.scriptId); - return { - source: Audit.makeSourceLocation(script.url, lineNumber, columnNumber, bundle), - }; - }); - - return { - score: 0, - details: Audit.makeTableDetails(headings, tableItems), - }; - } -} - -export default NoUnloadListeners; -export {UIStrings}; diff --git a/core/config/default-config.js b/core/config/default-config.js index 5fedcf0ce7c5..e05524e5e874 100644 --- a/core/config/default-config.js +++ b/core/config/default-config.js @@ -141,7 +141,6 @@ const defaultConfig = { {id: 'EmbeddedContent', gatherer: 'seo/embedded-content'}, {id: 'FontSize', gatherer: 'seo/font-size'}, {id: 'Inputs', gatherer: 'inputs'}, - {id: 'GlobalListeners', gatherer: 'global-listeners'}, {id: 'IFrameElements', gatherer: 'iframe-elements'}, {id: 'ImageElements', gatherer: 'image-elements'}, {id: 'InstallabilityErrors', gatherer: 'installability-errors'}, @@ -222,7 +221,6 @@ const defaultConfig = { 'layout-shift-elements', 'layout-shifts', 'long-tasks', - 'no-unload-listeners', 'non-composited-animations', 'unsized-images', 'valid-source-maps', @@ -605,7 +603,6 @@ const defaultConfig = { {id: 'doctype', weight: 1, group: 'best-practices-browser-compat'}, {id: 'charset', weight: 1, group: 'best-practices-browser-compat'}, // General Group - {id: 'no-unload-listeners', weight: 1, group: 'best-practices-general'}, {id: 'js-libraries', weight: 0, group: 'best-practices-general'}, {id: 'deprecations', weight: 5, group: 'best-practices-general'}, {id: 'third-party-cookies', weight: 5, group: 'best-practices-general'}, diff --git a/core/gather/gatherers/global-listeners.js b/core/gather/gatherers/global-listeners.js deleted file mode 100644 index e593cde20fca..000000000000 --- a/core/gather/gatherers/global-listeners.js +++ /dev/null @@ -1,108 +0,0 @@ -/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */ - -/** - * @fileoverview - * A gatherer to collect information about the event listeners registered on the - * global object. For now, the scope is narrowed to events that occur on and - * around page unload, but this can be expanded in the future. - */ - -import log from 'lighthouse-logger'; - -import BaseGatherer from '../base-gatherer.js'; - -class GlobalListeners extends BaseGatherer { - /** @type {LH.Gatherer.GathererMeta} */ - meta = { - supportedModes: ['snapshot', 'timespan', 'navigation'], - }; - - /** - * @param {LH.Crdp.DOMDebugger.EventListener} listener - * @return {listener is {type: 'pagehide'|'unload'|'visibilitychange'} & LH.Crdp.DOMDebugger.EventListener} - */ - static _filterForAllowlistedTypes(listener) { - return listener.type === 'pagehide' || - listener.type === 'unload' || - listener.type === 'visibilitychange'; - } - - /** - * @param { LH.Artifacts.GlobalListener } listener - * @return { string } - */ - getListenerIndentifier(listener) { - return `${listener.type}:${listener.scriptId}:${listener.columnNumber}:${listener.lineNumber}`; - } - - /** - * @param { LH.Artifacts['GlobalListeners'] } listeners - * @return { LH.Artifacts['GlobalListeners'] } - */ - dedupeListeners(listeners) { - const seenListeners = new Set(); - return listeners.filter(listener => { - const id = this.getListenerIndentifier(listener); - if (!seenListeners.has(id)) { - seenListeners.add(id); - return true; - } else { - return false; - } - }); - } - - /** - * @param {LH.Gatherer.Context} passContext - * @return {Promise} - */ - async getArtifact(passContext) { - const session = passContext.driver.defaultSession; - - /** @type {Array} */ - const listeners = []; - - for (const executionContext of passContext.driver.targetManager.mainFrameExecutionContexts()) { - // Get a RemoteObject handle to `window`. - let objectId; - try { - const {result} = await session.sendCommand('Runtime.evaluate', { - expression: 'window', - returnByValue: false, - uniqueContextId: executionContext.uniqueId, - }); - if (!result.objectId) { - throw new Error('Error fetching information about the global object'); - } - objectId = result.objectId; - } catch (err) { - // Execution context is no longer valid, but don't let that fail the gatherer. - log.warn('Execution context is no longer valid', executionContext, err); - continue; - } - - // And get all its listeners of interest. - const response = await session.sendCommand('DOMDebugger.getEventListeners', {objectId}); - for (const listener of response.listeners) { - if (GlobalListeners._filterForAllowlistedTypes(listener)) { - const {type, scriptId, lineNumber, columnNumber} = listener; - listeners.push({ - type, - scriptId, - lineNumber, - columnNumber, - }); - } - } - } - - // Dedupe listeners with same underlying data. - return this.dedupeListeners(listeners); - } -} - -export default GlobalListeners; diff --git a/core/test/audits/no-unload-listeners-test.js b/core/test/audits/no-unload-listeners-test.js deleted file mode 100644 index 2f71283279b8..000000000000 --- a/core/test/audits/no-unload-listeners-test.js +++ /dev/null @@ -1,91 +0,0 @@ -/** - * @license Copyright 2020 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */ - -import NoUnloadListeners from '../../audits/no-unload-listeners.js'; -import {createScript} from '../test-utils.js'; - -const testScripts = [ - {scriptId: '12', url: 'https://example.com/1.js'}, - {scriptId: '13', url: 'https://example.com/1.js'}, - {scriptId: '16', url: 'https://example.com/1.js'}, - {scriptId: '17', url: 'https://example.com/1.js'}, - {scriptId: '22', url: 'https://example.com/2.js'}, - {scriptId: '23', url: 'https://example.com/2.js'}, - {scriptId: '26', url: 'https://example.com/2.js'}, - {scriptId: '27', url: 'https://example.com/2.js'}, -].map(createScript); - -describe('No Unload Listeners', () => { - it('passes when there were no listeners', async () => { - const artifacts = { - GlobalListeners: [], - SourceMaps: [], - Scripts: testScripts, - }; - const context = {computedCache: new Map()}; - const result = await NoUnloadListeners.audit(artifacts, context); - expect(result).toEqual({score: 1}); - }); - - it('passes when there were no `unload` listeners', async () => { - const GlobalListeners = [{ - type: 'DOMContentLoaded', scriptId: '12', lineNumber: 5, columnNumber: 0, - }]; - const artifacts = { - GlobalListeners, - SourceMaps: [], - Scripts: testScripts, - }; - const context = {computedCache: new Map()}; - const result = await NoUnloadListeners.audit(artifacts, context); - expect(result).toEqual({score: 1}); - }); - - it('fails when there are unload listeners and matches them to script locations', async () => { - const GlobalListeners = [ - {type: 'unload', scriptId: '16', lineNumber: 10, columnNumber: 30}, - {type: 'unload', scriptId: '23', lineNumber: 0, columnNumber: 0}, - ]; - const artifacts = { - GlobalListeners, - SourceMaps: [], - Scripts: testScripts, - }; - const context = {computedCache: new Map()}; - const result = await NoUnloadListeners.audit(artifacts, context); - expect(result.score).toEqual(0); - expect(result.details.items).toMatchObject([ - { - source: {type: 'source-location', url: 'https://example.com/1.js', urlProvider: 'network', line: 10, column: 30}, - }, { - source: {type: 'source-location', url: 'https://example.com/2.js', urlProvider: 'network', line: 0, column: 0}, - }, - ]); - }); - - // eslint-disable-next-line max-len - it('fails when there are unload listeners and has a fallback if script URL is not found', async () => { - const GlobalListeners = [ - {type: 'DOMContentLoaded', scriptId: '12', lineNumber: 5, columnNumber: 0}, - {type: 'unload', scriptId: 'notascriptid', lineNumber: 10, columnNumber: 30}, - {type: 'unload', scriptId: '22', lineNumber: 1, columnNumber: 100}, - ]; - const artifacts = { - GlobalListeners, - SourceMaps: [], - Scripts: testScripts, - }; - const context = {computedCache: new Map()}; - const result = await NoUnloadListeners.audit(artifacts, context); - expect(result.score).toEqual(0); - expect(result.details.items).toMatchObject([ - { - source: {type: 'url', value: '(unknown):10:30'}, - }, { - source: {type: 'source-location', url: 'https://example.com/2.js', urlProvider: 'network', line: 1, column: 100}, - }, - ]); - }); -}); diff --git a/core/test/fixtures/user-flows/reports/sample-flow-result.json b/core/test/fixtures/user-flows/reports/sample-flow-result.json index 19c0f192b596..8f791488089a 100644 --- a/core/test/fixtures/user-flows/reports/sample-flow-result.json +++ b/core/test/fixtures/user-flows/reports/sample-flow-result.json @@ -1900,13 +1900,6 @@ }, "guidanceLevel": 1 }, - "no-unload-listeners": { - "id": "no-unload-listeners", - "title": "Avoids `unload` event listeners", - "description": "The `unload` event does not fire reliably and listening for it can prevent browser optimizations like the Back-Forward Cache. Use `pagehide` or `visibilitychange` events instead. [Learn more about unload event listeners](https://web.dev/articles/bfcache#never_use_the_unload_event)", - "score": 1, - "scoreDisplayMode": "binary" - }, "non-composited-animations": { "id": "non-composited-animations", "title": "Avoid non-composited animations", @@ -4557,11 +4550,6 @@ "weight": 1, "group": "best-practices-browser-compat" }, - { - "id": "no-unload-listeners", - "weight": 1, - "group": "best-practices-general" - }, { "id": "js-libraries", "weight": 0, @@ -6216,49 +6204,49 @@ }, { "startTime": 148, - "name": "lh:audit:no-unload-listeners", + "name": "lh:audit:non-composited-animations", "duration": 1, "entryType": "measure" }, { "startTime": 149, - "name": "lh:audit:non-composited-animations", + "name": "lh:audit:unsized-images", "duration": 1, "entryType": "measure" }, { "startTime": 150, - "name": "lh:audit:unsized-images", + "name": "lh:audit:valid-source-maps", "duration": 1, "entryType": "measure" }, { "startTime": 151, - "name": "lh:audit:valid-source-maps", + "name": "lh:audit:prioritize-lcp-image", "duration": 1, "entryType": "measure" }, { "startTime": 152, - "name": "lh:audit:prioritize-lcp-image", + "name": "lh:audit:csp-xss", "duration": 1, "entryType": "measure" }, { "startTime": 153, - "name": "lh:audit:csp-xss", + "name": "lh:audit:script-treemap-data", "duration": 1, "entryType": "measure" }, { "startTime": 154, - "name": "lh:audit:script-treemap-data", + "name": "lh:computed:ModuleDuplication", "duration": 1, "entryType": "measure" }, { "startTime": 155, - "name": "lh:computed:ModuleDuplication", + "name": "lh:computed:UnusedJavascriptSummary", "duration": 1, "entryType": "measure" }, @@ -6342,708 +6330,702 @@ }, { "startTime": 169, - "name": "lh:computed:UnusedJavascriptSummary", + "name": "lh:audit:pwa-cross-browser", "duration": 1, "entryType": "measure" }, { "startTime": 170, - "name": "lh:audit:pwa-cross-browser", + "name": "lh:audit:pwa-page-transitions", "duration": 1, "entryType": "measure" }, { "startTime": 171, - "name": "lh:audit:pwa-page-transitions", + "name": "lh:audit:pwa-each-page-has-url", "duration": 1, "entryType": "measure" }, { "startTime": 172, - "name": "lh:audit:pwa-each-page-has-url", + "name": "lh:audit:accesskeys", "duration": 1, "entryType": "measure" }, { "startTime": 173, - "name": "lh:audit:accesskeys", + "name": "lh:audit:aria-allowed-attr", "duration": 1, "entryType": "measure" }, { "startTime": 174, - "name": "lh:audit:aria-allowed-attr", + "name": "lh:audit:aria-allowed-role", "duration": 1, "entryType": "measure" }, { "startTime": 175, - "name": "lh:audit:aria-allowed-role", + "name": "lh:audit:aria-command-name", "duration": 1, "entryType": "measure" }, { "startTime": 176, - "name": "lh:audit:aria-command-name", + "name": "lh:audit:aria-dialog-name", "duration": 1, "entryType": "measure" }, { "startTime": 177, - "name": "lh:audit:aria-dialog-name", + "name": "lh:audit:aria-hidden-body", "duration": 1, "entryType": "measure" }, { "startTime": 178, - "name": "lh:audit:aria-hidden-body", + "name": "lh:audit:aria-hidden-focus", "duration": 1, "entryType": "measure" }, { "startTime": 179, - "name": "lh:audit:aria-hidden-focus", + "name": "lh:audit:aria-input-field-name", "duration": 1, "entryType": "measure" }, { "startTime": 180, - "name": "lh:audit:aria-input-field-name", + "name": "lh:audit:aria-meter-name", "duration": 1, "entryType": "measure" }, { "startTime": 181, - "name": "lh:audit:aria-meter-name", + "name": "lh:audit:aria-progressbar-name", "duration": 1, "entryType": "measure" }, { "startTime": 182, - "name": "lh:audit:aria-progressbar-name", + "name": "lh:audit:aria-required-attr", "duration": 1, "entryType": "measure" }, { "startTime": 183, - "name": "lh:audit:aria-required-attr", + "name": "lh:audit:aria-required-children", "duration": 1, "entryType": "measure" }, { "startTime": 184, - "name": "lh:audit:aria-required-children", + "name": "lh:audit:aria-required-parent", "duration": 1, "entryType": "measure" }, { "startTime": 185, - "name": "lh:audit:aria-required-parent", + "name": "lh:audit:aria-roles", "duration": 1, "entryType": "measure" }, { "startTime": 186, - "name": "lh:audit:aria-roles", + "name": "lh:audit:aria-text", "duration": 1, "entryType": "measure" }, { "startTime": 187, - "name": "lh:audit:aria-text", + "name": "lh:audit:aria-toggle-field-name", "duration": 1, "entryType": "measure" }, { "startTime": 188, - "name": "lh:audit:aria-toggle-field-name", + "name": "lh:audit:aria-tooltip-name", "duration": 1, "entryType": "measure" }, { "startTime": 189, - "name": "lh:audit:aria-tooltip-name", + "name": "lh:audit:aria-treeitem-name", "duration": 1, "entryType": "measure" }, { "startTime": 190, - "name": "lh:audit:aria-treeitem-name", + "name": "lh:audit:aria-valid-attr-value", "duration": 1, "entryType": "measure" }, { "startTime": 191, - "name": "lh:audit:aria-valid-attr-value", + "name": "lh:audit:aria-valid-attr", "duration": 1, "entryType": "measure" }, { "startTime": 192, - "name": "lh:audit:aria-valid-attr", + "name": "lh:audit:button-name", "duration": 1, "entryType": "measure" }, { "startTime": 193, - "name": "lh:audit:button-name", + "name": "lh:audit:bypass", "duration": 1, "entryType": "measure" }, { "startTime": 194, - "name": "lh:audit:bypass", + "name": "lh:audit:color-contrast", "duration": 1, "entryType": "measure" }, { "startTime": 195, - "name": "lh:audit:color-contrast", + "name": "lh:audit:definition-list", "duration": 1, "entryType": "measure" }, { "startTime": 196, - "name": "lh:audit:definition-list", + "name": "lh:audit:dlitem", "duration": 1, "entryType": "measure" }, { "startTime": 197, - "name": "lh:audit:dlitem", + "name": "lh:audit:document-title", "duration": 1, "entryType": "measure" }, { "startTime": 198, - "name": "lh:audit:document-title", + "name": "lh:audit:duplicate-id-active", "duration": 1, "entryType": "measure" }, { "startTime": 199, - "name": "lh:audit:duplicate-id-active", + "name": "lh:audit:duplicate-id-aria", "duration": 1, "entryType": "measure" }, { "startTime": 200, - "name": "lh:audit:duplicate-id-aria", + "name": "lh:audit:empty-heading", "duration": 1, "entryType": "measure" }, { "startTime": 201, - "name": "lh:audit:empty-heading", + "name": "lh:audit:form-field-multiple-labels", "duration": 1, "entryType": "measure" }, { "startTime": 202, - "name": "lh:audit:form-field-multiple-labels", + "name": "lh:audit:frame-title", "duration": 1, "entryType": "measure" }, { "startTime": 203, - "name": "lh:audit:frame-title", + "name": "lh:audit:heading-order", "duration": 1, "entryType": "measure" }, { "startTime": 204, - "name": "lh:audit:heading-order", + "name": "lh:audit:html-has-lang", "duration": 1, "entryType": "measure" }, { "startTime": 205, - "name": "lh:audit:html-has-lang", + "name": "lh:audit:html-lang-valid", "duration": 1, "entryType": "measure" }, { "startTime": 206, - "name": "lh:audit:html-lang-valid", + "name": "lh:audit:html-xml-lang-mismatch", "duration": 1, "entryType": "measure" }, { "startTime": 207, - "name": "lh:audit:html-xml-lang-mismatch", + "name": "lh:audit:identical-links-same-purpose", "duration": 1, "entryType": "measure" }, { "startTime": 208, - "name": "lh:audit:identical-links-same-purpose", + "name": "lh:audit:image-alt", "duration": 1, "entryType": "measure" }, { "startTime": 209, - "name": "lh:audit:image-alt", + "name": "lh:audit:image-redundant-alt", "duration": 1, "entryType": "measure" }, { "startTime": 210, - "name": "lh:audit:image-redundant-alt", + "name": "lh:audit:input-button-name", "duration": 1, "entryType": "measure" }, { "startTime": 211, - "name": "lh:audit:input-button-name", + "name": "lh:audit:input-image-alt", "duration": 1, "entryType": "measure" }, { "startTime": 212, - "name": "lh:audit:input-image-alt", + "name": "lh:audit:label-content-name-mismatch", "duration": 1, "entryType": "measure" }, { "startTime": 213, - "name": "lh:audit:label-content-name-mismatch", + "name": "lh:audit:label", "duration": 1, "entryType": "measure" }, { "startTime": 214, - "name": "lh:audit:label", + "name": "lh:audit:landmark-one-main", "duration": 1, "entryType": "measure" }, { "startTime": 215, - "name": "lh:audit:landmark-one-main", + "name": "lh:audit:link-name", "duration": 1, "entryType": "measure" }, { "startTime": 216, - "name": "lh:audit:link-name", + "name": "lh:audit:link-in-text-block", "duration": 1, "entryType": "measure" }, { "startTime": 217, - "name": "lh:audit:link-in-text-block", + "name": "lh:audit:list", "duration": 1, "entryType": "measure" }, { "startTime": 218, - "name": "lh:audit:list", + "name": "lh:audit:listitem", "duration": 1, "entryType": "measure" }, { "startTime": 219, - "name": "lh:audit:listitem", + "name": "lh:audit:meta-refresh", "duration": 1, "entryType": "measure" }, { "startTime": 220, - "name": "lh:audit:meta-refresh", + "name": "lh:audit:meta-viewport", "duration": 1, "entryType": "measure" }, { "startTime": 221, - "name": "lh:audit:meta-viewport", + "name": "lh:audit:object-alt", "duration": 1, "entryType": "measure" }, { "startTime": 222, - "name": "lh:audit:object-alt", + "name": "lh:audit:select-name", "duration": 1, "entryType": "measure" }, { "startTime": 223, - "name": "lh:audit:select-name", + "name": "lh:audit:skip-link", "duration": 1, "entryType": "measure" }, { "startTime": 224, - "name": "lh:audit:skip-link", + "name": "lh:audit:tabindex", "duration": 1, "entryType": "measure" }, { "startTime": 225, - "name": "lh:audit:tabindex", + "name": "lh:audit:table-duplicate-name", "duration": 1, "entryType": "measure" }, { "startTime": 226, - "name": "lh:audit:table-duplicate-name", + "name": "lh:audit:table-fake-caption", "duration": 1, "entryType": "measure" }, { "startTime": 227, - "name": "lh:audit:table-fake-caption", + "name": "lh:audit:target-size", "duration": 1, "entryType": "measure" }, { "startTime": 228, - "name": "lh:audit:target-size", + "name": "lh:audit:td-has-header", "duration": 1, "entryType": "measure" }, { "startTime": 229, - "name": "lh:audit:td-has-header", + "name": "lh:audit:td-headers-attr", "duration": 1, "entryType": "measure" }, { "startTime": 230, - "name": "lh:audit:td-headers-attr", + "name": "lh:audit:th-has-data-cells", "duration": 1, "entryType": "measure" }, { "startTime": 231, - "name": "lh:audit:th-has-data-cells", + "name": "lh:audit:valid-lang", "duration": 1, "entryType": "measure" }, { "startTime": 232, - "name": "lh:audit:valid-lang", + "name": "lh:audit:video-caption", "duration": 1, "entryType": "measure" }, { "startTime": 233, - "name": "lh:audit:video-caption", + "name": "lh:audit:custom-controls-labels", "duration": 1, "entryType": "measure" }, { "startTime": 234, - "name": "lh:audit:custom-controls-labels", + "name": "lh:audit:custom-controls-roles", "duration": 1, "entryType": "measure" }, { "startTime": 235, - "name": "lh:audit:custom-controls-roles", + "name": "lh:audit:focus-traps", "duration": 1, "entryType": "measure" }, { "startTime": 236, - "name": "lh:audit:focus-traps", + "name": "lh:audit:focusable-controls", "duration": 1, "entryType": "measure" }, { "startTime": 237, - "name": "lh:audit:focusable-controls", + "name": "lh:audit:interactive-element-affordance", "duration": 1, "entryType": "measure" }, { "startTime": 238, - "name": "lh:audit:interactive-element-affordance", + "name": "lh:audit:logical-tab-order", "duration": 1, "entryType": "measure" }, { "startTime": 239, - "name": "lh:audit:logical-tab-order", + "name": "lh:audit:managed-focus", "duration": 1, "entryType": "measure" }, { "startTime": 240, - "name": "lh:audit:managed-focus", + "name": "lh:audit:offscreen-content-hidden", "duration": 1, "entryType": "measure" }, { "startTime": 241, - "name": "lh:audit:offscreen-content-hidden", + "name": "lh:audit:use-landmarks", "duration": 1, "entryType": "measure" }, { "startTime": 242, - "name": "lh:audit:use-landmarks", + "name": "lh:audit:visual-order-follows-dom", "duration": 1, "entryType": "measure" }, { "startTime": 243, - "name": "lh:audit:visual-order-follows-dom", + "name": "lh:audit:uses-long-cache-ttl", "duration": 1, "entryType": "measure" }, { "startTime": 244, - "name": "lh:audit:uses-long-cache-ttl", + "name": "lh:audit:total-byte-weight", "duration": 1, "entryType": "measure" }, { "startTime": 245, - "name": "lh:audit:total-byte-weight", + "name": "lh:audit:offscreen-images", "duration": 1, "entryType": "measure" }, { "startTime": 246, - "name": "lh:audit:offscreen-images", + "name": "lh:audit:render-blocking-resources", "duration": 1, "entryType": "measure" }, { "startTime": 247, - "name": "lh:audit:render-blocking-resources", + "name": "lh:computed:UnusedCSS", "duration": 1, "entryType": "measure" }, { "startTime": 248, - "name": "lh:computed:UnusedCSS", + "name": "lh:computed:FirstContentfulPaint", "duration": 1, "entryType": "measure" }, { "startTime": 249, - "name": "lh:computed:FirstContentfulPaint", + "name": "lh:audit:unminified-css", "duration": 1, "entryType": "measure" }, { "startTime": 250, - "name": "lh:audit:unminified-css", + "name": "lh:audit:unminified-javascript", "duration": 1, "entryType": "measure" }, { "startTime": 251, - "name": "lh:audit:unminified-javascript", + "name": "lh:audit:unused-css-rules", "duration": 1, "entryType": "measure" }, { "startTime": 252, - "name": "lh:audit:unused-css-rules", + "name": "lh:audit:unused-javascript", "duration": 1, "entryType": "measure" }, { "startTime": 253, - "name": "lh:audit:unused-javascript", + "name": "lh:audit:modern-image-formats", "duration": 1, "entryType": "measure" }, { "startTime": 254, - "name": "lh:audit:modern-image-formats", + "name": "lh:audit:uses-optimized-images", "duration": 1, "entryType": "measure" }, { "startTime": 255, - "name": "lh:audit:uses-optimized-images", + "name": "lh:audit:uses-text-compression", "duration": 1, "entryType": "measure" }, { "startTime": 256, - "name": "lh:audit:uses-text-compression", + "name": "lh:audit:uses-responsive-images", "duration": 1, "entryType": "measure" }, { "startTime": 257, - "name": "lh:audit:uses-responsive-images", + "name": "lh:computed:ImageRecords", "duration": 1, "entryType": "measure" }, { "startTime": 258, - "name": "lh:computed:ImageRecords", + "name": "lh:audit:efficient-animated-content", "duration": 1, "entryType": "measure" }, { "startTime": 259, - "name": "lh:audit:efficient-animated-content", + "name": "lh:audit:duplicated-javascript", "duration": 1, "entryType": "measure" }, { "startTime": 260, - "name": "lh:audit:duplicated-javascript", + "name": "lh:audit:legacy-javascript", "duration": 1, "entryType": "measure" }, { "startTime": 261, - "name": "lh:audit:legacy-javascript", + "name": "lh:audit:doctype", "duration": 1, "entryType": "measure" }, { "startTime": 262, - "name": "lh:audit:doctype", + "name": "lh:audit:charset", "duration": 1, "entryType": "measure" }, { "startTime": 263, - "name": "lh:audit:charset", + "name": "lh:audit:dom-size", "duration": 1, "entryType": "measure" }, { "startTime": 264, - "name": "lh:audit:dom-size", + "name": "lh:audit:geolocation-on-start", "duration": 1, "entryType": "measure" }, { "startTime": 265, - "name": "lh:audit:geolocation-on-start", + "name": "lh:audit:inspector-issues", "duration": 1, "entryType": "measure" }, { "startTime": 266, - "name": "lh:audit:inspector-issues", + "name": "lh:audit:no-document-write", "duration": 1, "entryType": "measure" }, { "startTime": 267, - "name": "lh:audit:no-document-write", + "name": "lh:audit:js-libraries", "duration": 1, "entryType": "measure" }, { "startTime": 268, - "name": "lh:audit:js-libraries", + "name": "lh:audit:notification-on-start", "duration": 1, "entryType": "measure" }, { "startTime": 269, - "name": "lh:audit:notification-on-start", + "name": "lh:audit:paste-preventing-inputs", "duration": 1, "entryType": "measure" }, { "startTime": 270, - "name": "lh:audit:paste-preventing-inputs", + "name": "lh:audit:uses-passive-event-listeners", "duration": 1, "entryType": "measure" }, { "startTime": 271, - "name": "lh:audit:uses-passive-event-listeners", + "name": "lh:audit:meta-description", "duration": 1, "entryType": "measure" }, { "startTime": 272, - "name": "lh:audit:meta-description", + "name": "lh:audit:http-status-code", "duration": 1, "entryType": "measure" }, { "startTime": 273, - "name": "lh:audit:http-status-code", + "name": "lh:audit:font-size", "duration": 1, "entryType": "measure" }, { "startTime": 274, - "name": "lh:audit:font-size", + "name": "lh:audit:link-text", "duration": 1, "entryType": "measure" }, { "startTime": 275, - "name": "lh:audit:link-text", + "name": "lh:audit:crawlable-anchors", "duration": 1, "entryType": "measure" }, { "startTime": 276, - "name": "lh:audit:crawlable-anchors", + "name": "lh:audit:is-crawlable", "duration": 1, "entryType": "measure" }, { "startTime": 277, - "name": "lh:audit:is-crawlable", + "name": "lh:audit:robots-txt", "duration": 1, "entryType": "measure" }, { "startTime": 278, - "name": "lh:audit:robots-txt", + "name": "lh:audit:tap-targets", "duration": 1, "entryType": "measure" }, { "startTime": 279, - "name": "lh:audit:tap-targets", + "name": "lh:audit:hreflang", "duration": 1, "entryType": "measure" }, { "startTime": 280, - "name": "lh:audit:hreflang", + "name": "lh:audit:plugins", "duration": 1, "entryType": "measure" }, { "startTime": 281, - "name": "lh:audit:plugins", + "name": "lh:audit:canonical", "duration": 1, "entryType": "measure" }, { "startTime": 282, - "name": "lh:audit:canonical", + "name": "lh:audit:structured-data", "duration": 1, "entryType": "measure" }, { "startTime": 283, - "name": "lh:audit:structured-data", + "name": "lh:audit:bf-cache", "duration": 1, "entryType": "measure" }, { "startTime": 284, - "name": "lh:audit:bf-cache", - "duration": 1, - "entryType": "measure" - }, - { - "startTime": 285, - "name": "lh:runner:generate", + "name": "lh:runner:generate", "duration": 1, "entryType": "measure" } ], - "total": 286 + "total": 285 }, "i18n": { "rendererFormattedStrings": { @@ -7602,12 +7584,6 @@ "path": "audits[long-tasks].displayValue" } ], - "core/audits/no-unload-listeners.js | title": [ - "audits[no-unload-listeners].title" - ], - "core/audits/no-unload-listeners.js | description": [ - "audits[no-unload-listeners].description" - ], "core/audits/non-composited-animations.js | title": [ "audits[non-composited-animations].title" ], @@ -9970,13 +9946,6 @@ }, "guidanceLevel": 1 }, - "no-unload-listeners": { - "id": "no-unload-listeners", - "title": "Avoids `unload` event listeners", - "description": "The `unload` event does not fire reliably and listening for it can prevent browser optimizations like the Back-Forward Cache. Use `pagehide` or `visibilitychange` events instead. [Learn more about unload event listeners](https://web.dev/articles/bfcache#never_use_the_unload_event)", - "score": 1, - "scoreDisplayMode": "binary" - }, "non-composited-animations": { "id": "non-composited-animations", "title": "Avoid non-composited animations", @@ -11172,11 +11141,6 @@ "weight": 1, "group": "best-practices-ux" }, - { - "id": "no-unload-listeners", - "weight": 1, - "group": "best-practices-general" - }, { "id": "deprecations", "weight": 5, @@ -11910,37 +11874,37 @@ }, { "startTime": 74, - "name": "lh:audit:no-unload-listeners", + "name": "lh:audit:non-composited-animations", "duration": 1, "entryType": "measure" }, { "startTime": 75, - "name": "lh:audit:non-composited-animations", + "name": "lh:audit:unsized-images", "duration": 1, "entryType": "measure" }, { "startTime": 76, - "name": "lh:audit:unsized-images", + "name": "lh:audit:valid-source-maps", "duration": 1, "entryType": "measure" }, { "startTime": 77, - "name": "lh:audit:valid-source-maps", + "name": "lh:audit:script-treemap-data", "duration": 1, "entryType": "measure" }, { "startTime": 78, - "name": "lh:audit:script-treemap-data", + "name": "lh:computed:ModuleDuplication", "duration": 1, "entryType": "measure" }, { "startTime": 79, - "name": "lh:computed:ModuleDuplication", + "name": "lh:computed:UnusedJavascriptSummary", "duration": 1, "entryType": "measure" }, @@ -11958,144 +11922,138 @@ }, { "startTime": 82, - "name": "lh:computed:UnusedJavascriptSummary", - "duration": 1, - "entryType": "measure" - }, - { - "startTime": 83, "name": "lh:audit:uses-long-cache-ttl", "duration": 1, "entryType": "measure" }, { - "startTime": 84, + "startTime": 83, "name": "lh:audit:total-byte-weight", "duration": 1, "entryType": "measure" }, { - "startTime": 85, + "startTime": 84, "name": "lh:audit:unminified-css", "duration": 1, "entryType": "measure" }, { - "startTime": 86, + "startTime": 85, "name": "lh:computed:LoadSimulator", "duration": 1, "entryType": "measure" }, { - "startTime": 87, + "startTime": 86, "name": "lh:audit:unminified-javascript", "duration": 1, "entryType": "measure" }, { - "startTime": 88, + "startTime": 87, "name": "lh:audit:unused-css-rules", "duration": 1, "entryType": "measure" }, { - "startTime": 89, + "startTime": 88, "name": "lh:computed:UnusedCSS", "duration": 1, "entryType": "measure" }, { - "startTime": 90, + "startTime": 89, "name": "lh:audit:unused-javascript", "duration": 1, "entryType": "measure" }, { - "startTime": 91, + "startTime": 90, "name": "lh:audit:modern-image-formats", "duration": 1, "entryType": "measure" }, { - "startTime": 92, + "startTime": 91, "name": "lh:audit:uses-optimized-images", "duration": 1, "entryType": "measure" }, { - "startTime": 93, + "startTime": 92, "name": "lh:audit:uses-text-compression", "duration": 1, "entryType": "measure" }, { - "startTime": 94, + "startTime": 93, "name": "lh:audit:uses-responsive-images", "duration": 1, "entryType": "measure" }, { - "startTime": 95, + "startTime": 94, "name": "lh:computed:ImageRecords", "duration": 1, "entryType": "measure" }, { - "startTime": 96, + "startTime": 95, "name": "lh:audit:efficient-animated-content", "duration": 1, "entryType": "measure" }, { - "startTime": 97, + "startTime": 96, "name": "lh:audit:duplicated-javascript", "duration": 1, "entryType": "measure" }, { - "startTime": 98, + "startTime": 97, "name": "lh:audit:legacy-javascript", "duration": 1, "entryType": "measure" }, { - "startTime": 99, + "startTime": 98, "name": "lh:audit:inspector-issues", "duration": 1, "entryType": "measure" }, { - "startTime": 100, + "startTime": 99, "name": "lh:audit:no-document-write", "duration": 1, "entryType": "measure" }, { - "startTime": 101, + "startTime": 100, "name": "lh:audit:uses-passive-event-listeners", "duration": 1, "entryType": "measure" }, { - "startTime": 102, + "startTime": 101, "name": "lh:audit:work-during-interaction", "duration": 1, "entryType": "measure" }, { - "startTime": 103, + "startTime": 102, "name": "lh:audit:bf-cache", "duration": 1, "entryType": "measure" }, { - "startTime": 104, + "startTime": 103, "name": "lh:runner:generate", "duration": 1, "entryType": "measure" } ], - "total": 105 + "total": 104 }, "i18n": { "rendererFormattedStrings": { @@ -12454,12 +12412,6 @@ "path": "audits[long-tasks].displayValue" } ], - "core/audits/no-unload-listeners.js | title": [ - "audits[no-unload-listeners].title" - ], - "core/audits/no-unload-listeners.js | description": [ - "audits[no-unload-listeners].description" - ], "core/audits/non-composited-animations.js | title": [ "audits[non-composited-animations].title" ], @@ -19759,13 +19711,6 @@ }, "guidanceLevel": 1 }, - "no-unload-listeners": { - "id": "no-unload-listeners", - "title": "Avoids `unload` event listeners", - "description": "The `unload` event does not fire reliably and listening for it can prevent browser optimizations like the Back-Forward Cache. Use `pagehide` or `visibilitychange` events instead. [Learn more about unload event listeners](https://web.dev/articles/bfcache#never_use_the_unload_event)", - "score": 1, - "scoreDisplayMode": "binary" - }, "non-composited-animations": { "id": "non-composited-animations", "title": "Avoid non-composited animations", @@ -22599,11 +22544,6 @@ "weight": 1, "group": "best-practices-browser-compat" }, - { - "id": "no-unload-listeners", - "weight": 1, - "group": "best-practices-general" - }, { "id": "js-libraries", "weight": 0, @@ -24238,49 +24178,49 @@ }, { "startTime": 146, - "name": "lh:audit:no-unload-listeners", + "name": "lh:audit:non-composited-animations", "duration": 1, "entryType": "measure" }, { "startTime": 147, - "name": "lh:audit:non-composited-animations", + "name": "lh:audit:unsized-images", "duration": 1, "entryType": "measure" }, { "startTime": 148, - "name": "lh:audit:unsized-images", + "name": "lh:audit:valid-source-maps", "duration": 1, "entryType": "measure" }, { "startTime": 149, - "name": "lh:audit:valid-source-maps", + "name": "lh:audit:prioritize-lcp-image", "duration": 1, "entryType": "measure" }, { "startTime": 150, - "name": "lh:audit:prioritize-lcp-image", + "name": "lh:audit:csp-xss", "duration": 1, "entryType": "measure" }, { "startTime": 151, - "name": "lh:audit:csp-xss", + "name": "lh:audit:script-treemap-data", "duration": 1, "entryType": "measure" }, { "startTime": 152, - "name": "lh:audit:script-treemap-data", + "name": "lh:computed:ModuleDuplication", "duration": 1, "entryType": "measure" }, { "startTime": 153, - "name": "lh:computed:ModuleDuplication", + "name": "lh:computed:UnusedJavascriptSummary", "duration": 1, "entryType": "measure" }, @@ -24358,708 +24298,702 @@ }, { "startTime": 166, - "name": "lh:computed:UnusedJavascriptSummary", - "duration": 1, - "entryType": "measure" - }, - { - "startTime": 167, "name": "lh:audit:pwa-cross-browser", "duration": 1, "entryType": "measure" }, { - "startTime": 168, + "startTime": 167, "name": "lh:audit:pwa-page-transitions", "duration": 1, "entryType": "measure" }, { - "startTime": 169, + "startTime": 168, "name": "lh:audit:pwa-each-page-has-url", "duration": 1, "entryType": "measure" }, { - "startTime": 170, + "startTime": 169, "name": "lh:audit:accesskeys", "duration": 1, "entryType": "measure" }, { - "startTime": 171, + "startTime": 170, "name": "lh:audit:aria-allowed-attr", "duration": 1, "entryType": "measure" }, { - "startTime": 172, + "startTime": 171, "name": "lh:audit:aria-allowed-role", "duration": 1, "entryType": "measure" }, { - "startTime": 173, + "startTime": 172, "name": "lh:audit:aria-command-name", "duration": 1, "entryType": "measure" }, { - "startTime": 174, + "startTime": 173, "name": "lh:audit:aria-dialog-name", "duration": 1, "entryType": "measure" }, { - "startTime": 175, + "startTime": 174, "name": "lh:audit:aria-hidden-body", "duration": 1, "entryType": "measure" }, { - "startTime": 176, + "startTime": 175, "name": "lh:audit:aria-hidden-focus", "duration": 1, "entryType": "measure" }, { - "startTime": 177, + "startTime": 176, "name": "lh:audit:aria-input-field-name", "duration": 1, "entryType": "measure" }, { - "startTime": 178, + "startTime": 177, "name": "lh:audit:aria-meter-name", "duration": 1, "entryType": "measure" }, { - "startTime": 179, + "startTime": 178, "name": "lh:audit:aria-progressbar-name", "duration": 1, "entryType": "measure" }, { - "startTime": 180, + "startTime": 179, "name": "lh:audit:aria-required-attr", "duration": 1, "entryType": "measure" }, { - "startTime": 181, + "startTime": 180, "name": "lh:audit:aria-required-children", "duration": 1, "entryType": "measure" }, { - "startTime": 182, + "startTime": 181, "name": "lh:audit:aria-required-parent", "duration": 1, "entryType": "measure" }, { - "startTime": 183, + "startTime": 182, "name": "lh:audit:aria-roles", "duration": 1, "entryType": "measure" }, { - "startTime": 184, + "startTime": 183, "name": "lh:audit:aria-text", "duration": 1, "entryType": "measure" }, { - "startTime": 185, + "startTime": 184, "name": "lh:audit:aria-toggle-field-name", "duration": 1, "entryType": "measure" }, { - "startTime": 186, + "startTime": 185, "name": "lh:audit:aria-tooltip-name", "duration": 1, "entryType": "measure" }, { - "startTime": 187, + "startTime": 186, "name": "lh:audit:aria-treeitem-name", "duration": 1, "entryType": "measure" }, { - "startTime": 188, + "startTime": 187, "name": "lh:audit:aria-valid-attr-value", "duration": 1, "entryType": "measure" }, { - "startTime": 189, + "startTime": 188, "name": "lh:audit:aria-valid-attr", "duration": 1, "entryType": "measure" }, { - "startTime": 190, + "startTime": 189, "name": "lh:audit:button-name", "duration": 1, "entryType": "measure" }, { - "startTime": 191, + "startTime": 190, "name": "lh:audit:bypass", "duration": 1, "entryType": "measure" }, { - "startTime": 192, + "startTime": 191, "name": "lh:audit:color-contrast", "duration": 1, "entryType": "measure" }, { - "startTime": 193, + "startTime": 192, "name": "lh:audit:definition-list", "duration": 1, "entryType": "measure" }, { - "startTime": 194, + "startTime": 193, "name": "lh:audit:dlitem", "duration": 1, "entryType": "measure" }, { - "startTime": 195, + "startTime": 194, "name": "lh:audit:document-title", "duration": 1, "entryType": "measure" }, { - "startTime": 196, + "startTime": 195, "name": "lh:audit:duplicate-id-active", "duration": 1, "entryType": "measure" }, { - "startTime": 197, + "startTime": 196, "name": "lh:audit:duplicate-id-aria", "duration": 1, "entryType": "measure" }, { - "startTime": 198, + "startTime": 197, "name": "lh:audit:empty-heading", "duration": 1, "entryType": "measure" }, { - "startTime": 199, + "startTime": 198, "name": "lh:audit:form-field-multiple-labels", "duration": 1, "entryType": "measure" }, { - "startTime": 200, + "startTime": 199, "name": "lh:audit:frame-title", "duration": 1, "entryType": "measure" }, { - "startTime": 201, + "startTime": 200, "name": "lh:audit:heading-order", "duration": 1, "entryType": "measure" }, { - "startTime": 202, + "startTime": 201, "name": "lh:audit:html-has-lang", "duration": 1, "entryType": "measure" }, { - "startTime": 203, + "startTime": 202, "name": "lh:audit:html-lang-valid", "duration": 1, "entryType": "measure" }, { - "startTime": 204, + "startTime": 203, "name": "lh:audit:html-xml-lang-mismatch", "duration": 1, "entryType": "measure" }, { - "startTime": 205, + "startTime": 204, "name": "lh:audit:identical-links-same-purpose", "duration": 1, "entryType": "measure" }, { - "startTime": 206, + "startTime": 205, "name": "lh:audit:image-alt", "duration": 1, "entryType": "measure" }, { - "startTime": 207, + "startTime": 206, "name": "lh:audit:image-redundant-alt", "duration": 1, "entryType": "measure" }, { - "startTime": 208, + "startTime": 207, "name": "lh:audit:input-button-name", "duration": 1, "entryType": "measure" }, { - "startTime": 209, + "startTime": 208, "name": "lh:audit:input-image-alt", "duration": 1, "entryType": "measure" }, { - "startTime": 210, + "startTime": 209, "name": "lh:audit:label-content-name-mismatch", "duration": 1, "entryType": "measure" }, { - "startTime": 211, + "startTime": 210, "name": "lh:audit:label", "duration": 1, "entryType": "measure" }, { - "startTime": 212, + "startTime": 211, "name": "lh:audit:landmark-one-main", "duration": 1, "entryType": "measure" }, { - "startTime": 213, + "startTime": 212, "name": "lh:audit:link-name", "duration": 1, "entryType": "measure" }, { - "startTime": 214, + "startTime": 213, "name": "lh:audit:link-in-text-block", "duration": 1, "entryType": "measure" }, { - "startTime": 215, + "startTime": 214, "name": "lh:audit:list", "duration": 1, "entryType": "measure" }, { - "startTime": 216, + "startTime": 215, "name": "lh:audit:listitem", "duration": 1, "entryType": "measure" }, { - "startTime": 217, + "startTime": 216, "name": "lh:audit:meta-refresh", "duration": 1, "entryType": "measure" }, { - "startTime": 218, + "startTime": 217, "name": "lh:audit:meta-viewport", "duration": 1, "entryType": "measure" }, { - "startTime": 219, + "startTime": 218, "name": "lh:audit:object-alt", "duration": 1, "entryType": "measure" }, { - "startTime": 220, + "startTime": 219, "name": "lh:audit:select-name", "duration": 1, "entryType": "measure" }, { - "startTime": 221, + "startTime": 220, "name": "lh:audit:skip-link", "duration": 1, "entryType": "measure" }, { - "startTime": 222, + "startTime": 221, "name": "lh:audit:tabindex", "duration": 1, "entryType": "measure" }, { - "startTime": 223, + "startTime": 222, "name": "lh:audit:table-duplicate-name", "duration": 1, "entryType": "measure" }, { - "startTime": 224, + "startTime": 223, "name": "lh:audit:table-fake-caption", "duration": 1, "entryType": "measure" }, { - "startTime": 225, + "startTime": 224, "name": "lh:audit:target-size", "duration": 1, "entryType": "measure" }, { - "startTime": 226, + "startTime": 225, "name": "lh:audit:td-has-header", "duration": 1, "entryType": "measure" }, { - "startTime": 227, + "startTime": 226, "name": "lh:audit:td-headers-attr", "duration": 1, "entryType": "measure" }, { - "startTime": 228, + "startTime": 227, "name": "lh:audit:th-has-data-cells", "duration": 1, "entryType": "measure" }, { - "startTime": 229, + "startTime": 228, "name": "lh:audit:valid-lang", "duration": 1, "entryType": "measure" }, { - "startTime": 230, + "startTime": 229, "name": "lh:audit:video-caption", "duration": 1, "entryType": "measure" }, { - "startTime": 231, + "startTime": 230, "name": "lh:audit:custom-controls-labels", "duration": 1, "entryType": "measure" }, { - "startTime": 232, + "startTime": 231, "name": "lh:audit:custom-controls-roles", "duration": 1, "entryType": "measure" }, { - "startTime": 233, + "startTime": 232, "name": "lh:audit:focus-traps", "duration": 1, "entryType": "measure" }, { - "startTime": 234, + "startTime": 233, "name": "lh:audit:focusable-controls", "duration": 1, "entryType": "measure" }, { - "startTime": 235, + "startTime": 234, "name": "lh:audit:interactive-element-affordance", "duration": 1, "entryType": "measure" }, { - "startTime": 236, + "startTime": 235, "name": "lh:audit:logical-tab-order", "duration": 1, "entryType": "measure" }, { - "startTime": 237, + "startTime": 236, "name": "lh:audit:managed-focus", "duration": 1, "entryType": "measure" }, { - "startTime": 238, + "startTime": 237, "name": "lh:audit:offscreen-content-hidden", "duration": 1, "entryType": "measure" }, { - "startTime": 239, + "startTime": 238, "name": "lh:audit:use-landmarks", "duration": 1, "entryType": "measure" }, { - "startTime": 240, + "startTime": 239, "name": "lh:audit:visual-order-follows-dom", "duration": 1, "entryType": "measure" }, { - "startTime": 241, + "startTime": 240, "name": "lh:audit:uses-long-cache-ttl", "duration": 1, "entryType": "measure" }, { - "startTime": 242, + "startTime": 241, "name": "lh:audit:total-byte-weight", "duration": 1, "entryType": "measure" }, { - "startTime": 243, + "startTime": 242, "name": "lh:audit:offscreen-images", "duration": 1, "entryType": "measure" }, { - "startTime": 244, + "startTime": 243, "name": "lh:audit:render-blocking-resources", "duration": 1, "entryType": "measure" }, { - "startTime": 245, + "startTime": 244, "name": "lh:computed:UnusedCSS", "duration": 1, "entryType": "measure" }, { - "startTime": 246, + "startTime": 245, "name": "lh:computed:FirstContentfulPaint", "duration": 1, "entryType": "measure" }, { - "startTime": 247, + "startTime": 246, "name": "lh:audit:unminified-css", "duration": 1, "entryType": "measure" }, { - "startTime": 248, + "startTime": 247, "name": "lh:audit:unminified-javascript", "duration": 1, "entryType": "measure" }, { - "startTime": 249, + "startTime": 248, "name": "lh:audit:unused-css-rules", "duration": 1, "entryType": "measure" }, { - "startTime": 250, + "startTime": 249, "name": "lh:audit:unused-javascript", "duration": 1, "entryType": "measure" }, { - "startTime": 251, + "startTime": 250, "name": "lh:audit:modern-image-formats", "duration": 1, "entryType": "measure" }, { - "startTime": 252, + "startTime": 251, "name": "lh:audit:uses-optimized-images", "duration": 1, "entryType": "measure" }, { - "startTime": 253, + "startTime": 252, "name": "lh:audit:uses-text-compression", "duration": 1, "entryType": "measure" }, { - "startTime": 254, + "startTime": 253, "name": "lh:audit:uses-responsive-images", "duration": 1, "entryType": "measure" }, { - "startTime": 255, + "startTime": 254, "name": "lh:computed:ImageRecords", "duration": 1, "entryType": "measure" }, { - "startTime": 256, + "startTime": 255, "name": "lh:audit:efficient-animated-content", "duration": 1, "entryType": "measure" }, { - "startTime": 257, + "startTime": 256, "name": "lh:audit:duplicated-javascript", "duration": 1, "entryType": "measure" }, { - "startTime": 258, + "startTime": 257, "name": "lh:audit:legacy-javascript", "duration": 1, "entryType": "measure" }, { - "startTime": 259, + "startTime": 258, "name": "lh:audit:doctype", "duration": 1, "entryType": "measure" }, { - "startTime": 260, + "startTime": 259, "name": "lh:audit:charset", "duration": 1, "entryType": "measure" }, { - "startTime": 261, + "startTime": 260, "name": "lh:audit:dom-size", "duration": 1, "entryType": "measure" }, { - "startTime": 262, + "startTime": 261, "name": "lh:audit:geolocation-on-start", "duration": 1, "entryType": "measure" }, { - "startTime": 263, + "startTime": 262, "name": "lh:audit:inspector-issues", "duration": 1, "entryType": "measure" }, { - "startTime": 264, + "startTime": 263, "name": "lh:audit:no-document-write", "duration": 1, "entryType": "measure" }, { - "startTime": 265, + "startTime": 264, "name": "lh:audit:js-libraries", "duration": 1, "entryType": "measure" }, { - "startTime": 266, + "startTime": 265, "name": "lh:audit:notification-on-start", "duration": 1, "entryType": "measure" }, { - "startTime": 267, + "startTime": 266, "name": "lh:audit:paste-preventing-inputs", "duration": 1, "entryType": "measure" }, { - "startTime": 268, + "startTime": 267, "name": "lh:audit:uses-passive-event-listeners", "duration": 1, "entryType": "measure" }, { - "startTime": 269, + "startTime": 268, "name": "lh:audit:meta-description", "duration": 1, "entryType": "measure" }, { - "startTime": 270, + "startTime": 269, "name": "lh:audit:http-status-code", "duration": 1, "entryType": "measure" }, { - "startTime": 271, + "startTime": 270, "name": "lh:audit:font-size", "duration": 1, "entryType": "measure" }, { - "startTime": 272, + "startTime": 271, "name": "lh:audit:link-text", "duration": 1, "entryType": "measure" }, { - "startTime": 273, + "startTime": 272, "name": "lh:audit:crawlable-anchors", "duration": 1, "entryType": "measure" }, { - "startTime": 274, + "startTime": 273, "name": "lh:audit:is-crawlable", "duration": 1, "entryType": "measure" }, { - "startTime": 275, + "startTime": 274, "name": "lh:audit:robots-txt", "duration": 1, "entryType": "measure" }, { - "startTime": 276, + "startTime": 275, "name": "lh:audit:tap-targets", "duration": 1, "entryType": "measure" }, { - "startTime": 277, + "startTime": 276, "name": "lh:audit:hreflang", "duration": 1, "entryType": "measure" }, { - "startTime": 278, + "startTime": 277, "name": "lh:audit:plugins", "duration": 1, "entryType": "measure" }, { - "startTime": 279, + "startTime": 278, "name": "lh:audit:canonical", "duration": 1, "entryType": "measure" }, { - "startTime": 280, + "startTime": 279, "name": "lh:audit:structured-data", "duration": 1, "entryType": "measure" }, { - "startTime": 281, + "startTime": 280, "name": "lh:audit:bf-cache", "duration": 1, "entryType": "measure" }, { - "startTime": 282, + "startTime": 281, "name": "lh:runner:generate", "duration": 1, "entryType": "measure" } ], - "total": 283 + "total": 282 }, "i18n": { "rendererFormattedStrings": { @@ -25595,12 +25529,6 @@ "path": "audits[long-tasks].displayValue" } ], - "core/audits/no-unload-listeners.js | title": [ - "audits[no-unload-listeners].title" - ], - "core/audits/no-unload-listeners.js | description": [ - "audits[no-unload-listeners].description" - ], "core/audits/non-composited-animations.js | title": [ "audits[non-composited-animations].title" ], diff --git a/core/test/gather/gatherers/global-listeners-test.js b/core/test/gather/gatherers/global-listeners-test.js deleted file mode 100644 index 0714ef48b6ea..000000000000 --- a/core/test/gather/gatherers/global-listeners-test.js +++ /dev/null @@ -1,54 +0,0 @@ -/** - * @license - * Copyright 2020 Google LLC - * SPDX-License-Identifier: Apache-2.0 - */ - -import GlobalListenerGatherer from '../../../gather/gatherers/global-listeners.js'; -import {createMockDriver} from '../mock-driver.js'; - -describe('Global Listener Gatherer', () => { - it('remove duplicate listeners from artifacts', async () => { - const globalListenerGatherer = new GlobalListenerGatherer(); - const mockListeners = [ - { - type: 'unload', - scriptId: 4, - lineNumber: 10, - columnNumber: 15, - }, - { - type: 'unload', - scriptId: 4, - lineNumber: 10, - columnNumber: 15, - }, - { - type: 'unload', - scriptId: 4, - lineNumber: 10, - columnNumber: 13, - }, - { - type: 'unload', - scriptId: 5, - lineNumber: 10, - columnNumber: 13, - }, - ]; - - const expectedOutput = [ - mockListeners[0], - mockListeners[2], - mockListeners[3], - ]; - - const driver = createMockDriver(); - driver._session.sendCommand - .mockResponse('Runtime.evaluate', {result: {objectId: 10}}) - .mockResponse('DOMDebugger.getEventListeners', {listeners: mockListeners.slice(0)}); - - const globalListeners = await globalListenerGatherer.getArtifact({driver}); - return expect(globalListeners).toMatchObject(expectedOutput); - }); -}); diff --git a/core/test/results/sample_v2.json b/core/test/results/sample_v2.json index 778580e6ee44..5404f6240e14 100644 --- a/core/test/results/sample_v2.json +++ b/core/test/results/sample_v2.json @@ -2698,34 +2698,6 @@ }, "guidanceLevel": 1 }, - "no-unload-listeners": { - "id": "no-unload-listeners", - "title": "Registers an `unload` listener", - "description": "The `unload` event does not fire reliably and listening for it can prevent browser optimizations like the Back-Forward Cache. Use `pagehide` or `visibilitychange` events instead. [Learn more about unload event listeners](https://web.dev/articles/bfcache#never_use_the_unload_event)", - "score": 0, - "scoreDisplayMode": "binary", - "details": { - "type": "table", - "headings": [ - { - "key": "source", - "valueType": "source-location", - "label": "Source" - } - ], - "items": [ - { - "source": { - "type": "source-location", - "url": "http://localhost:10200/dobetterweb/dbw_tester.html", - "urlProvider": "network", - "line": 395, - "column": 36 - } - } - ] - } - }, "non-composited-animations": { "id": "non-composited-animations", "title": "Avoid non-composited animations", @@ -6721,11 +6693,6 @@ "weight": 1, "group": "best-practices-browser-compat" }, - { - "id": "no-unload-listeners", - "weight": 1, - "group": "best-practices-general" - }, { "id": "js-libraries", "weight": 0, @@ -6758,7 +6725,7 @@ } ], "id": "best-practices", - "score": 0.33 + "score": 0.35 }, "seo": { "title": "SEO", @@ -8528,12 +8495,6 @@ "duration": 100, "entryType": "measure" }, - { - "startTime": 0, - "name": "lh:audit:no-unload-listeners", - "duration": 100, - "entryType": "measure" - }, { "startTime": 0, "name": "lh:audit:non-composited-animations", @@ -9617,7 +9578,6 @@ "core/lib/i18n/i18n.js | columnSource": [ "audits[errors-in-console].details.headings[0].label", "audits.deprecations.details.headings[1].label", - "audits[no-unload-listeners].details.headings[0].label", "audits[geolocation-on-start].details.headings[0].label", "audits[no-document-write].details.headings[0].label", "audits[notification-on-start].details.headings[0].label", @@ -10075,12 +10035,6 @@ "path": "audits[long-tasks].displayValue" } ], - "core/audits/no-unload-listeners.js | failureTitle": [ - "audits[no-unload-listeners].title" - ], - "core/audits/no-unload-listeners.js | description": [ - "audits[no-unload-listeners].description" - ], "core/audits/non-composited-animations.js | title": [ "audits[non-composited-animations].title" ], diff --git a/core/test/scenarios/__snapshots__/api-test-pptr.js.snap b/core/test/scenarios/__snapshots__/api-test-pptr.js.snap index 4542d2a49bf7..1c3b6a636a92 100644 --- a/core/test/scenarios/__snapshots__/api-test-pptr.js.snap +++ b/core/test/scenarios/__snapshots__/api-test-pptr.js.snap @@ -109,7 +109,6 @@ Array [ "network-rtt", "network-server-latency", "no-document-write", - "no-unload-listeners", "non-composited-animations", "notification-on-start", "object-alt", @@ -280,7 +279,6 @@ Array [ "network-rtt", "network-server-latency", "no-document-write", - "no-unload-listeners", "non-composited-animations", "notification-on-start", "object-alt", @@ -461,7 +459,6 @@ Array [ "network-rtt", "network-server-latency", "no-document-write", - "no-unload-listeners", "non-composited-animations", "resource-summary", "screenshot-thumbnails", @@ -522,7 +519,6 @@ Array [ "network-rtt", "network-server-latency", "no-document-write", - "no-unload-listeners", "non-composited-animations", "resource-summary", "screenshot-thumbnails", diff --git a/report/test/generator/report-generator-test.js b/report/test/generator/report-generator-test.js index 42f79ccbdb51..53edf6337940 100644 --- a/report/test/generator/report-generator-test.js +++ b/report/test/generator/report-generator-test.js @@ -108,7 +108,7 @@ describe('ReportGenerator', () => { category,score \\"performance\\",\\"0.28\\" \\"accessibility\\",\\"0.77\\" -\\"best-practices\\",\\"0.33\\" +\\"best-practices\\",\\"0.35\\" \\"seo\\",\\"0.67\\" \\"pwa\\",\\"0.38\\" diff --git a/shared/localization/locales/ar-XB.json b/shared/localization/locales/ar-XB.json index 4bfb393fc575..ae6b0969a67c 100644 --- a/shared/localization/locales/ar-XB.json +++ b/shared/localization/locales/ar-XB.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "‏‮Server‬‏ ‏‮Backend‬‏ ‏‮Latencies‬‏" }, - "core/audits/no-unload-listeners.js | description": { - "message": "‏‮The‬‏ `unload` ‏‮event‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮fire‬‏ ‏‮reliably‬‏ ‏‮and‬‏ ‏‮listening‬‏ ‏‮for‬‏ ‏‮it‬‏ ‏‮can‬‏ ‏‮prevent‬‏ ‏‮browser‬‏ ‏‮optimizations‬‏ ‏‮like‬‏ ‏‮the‬‏ ‏‮Back‬‏-‏‮Forward‬‏ ‏‮Cache‬‏. ‏‮Use‬‏ `pagehide` ‏‮or‬‏ `visibilitychange` ‏‮events‬‏ ‏‮instead‬‏. [‏‮Learn‬‏ ‏‮more‬‏ ‏‮about‬‏ ‏‮unload‬‏ ‏‮event‬‏ ‏‮listeners‬‏](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "‏‮Registers‬‏ ‏‮an‬‏ `unload` ‏‮listener‬‏" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "‏‮Avoids‬‏ `unload` ‏‮event‬‏ ‏‮listeners‬‏" - }, "core/audits/non-composited-animations.js | description": { "message": "‏‮Animations‬‏ ‏‮which‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮composited‬‏ ‏‮can‬‏ ‏‮be‬‏ ‏‮janky‬‏ ‏‮and‬‏ ‏‮increase‬‏ ‏‮CLS‬‏. [‏‮Learn‬‏ ‏‮how‬‏ ‏‮to‬‏ ‏‮avoid‬‏ ‏‮non‬‏-‏‮composited‬‏ ‏‮animations‬‏](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/ar.json b/shared/localization/locales/ar.json index e8d008e914e1..633b19020a07 100644 --- a/shared/localization/locales/ar.json +++ b/shared/localization/locales/ar.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "أوقات الاستجابة لواجهة الخادم الخلفية" }, - "core/audits/no-unload-listeners.js | description": { - "message": "لا يعمل حدث `unload` بفاعلية ويمكن أن تؤدي معالجته إلى عدم تنفيذ عمليات تحسين المتصفّح، مثل عملية \"التخزين المؤقت للصفحات\". وبدلاً من هذا الحدث، يمكنك استخدام `pagehide` أو `visibilitychange`. [مزيد من المعلومات حول إلغاء تحميل أدوات معالجة الأحداث](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "يتم استخدام أدوات معالجة حدث `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "لا يتم استخدام أدوات معالجة حدث `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "يمكن للصور المتحركة غير المركّبة أن تكون بجودة رديئة وأن تزيد متغيّرات التصميم التراكمية (CLS). تعرَّف على [كيفية تجنُّب استخدام الصور المتحركة غير المركّبة](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)." }, diff --git a/shared/localization/locales/bg.json b/shared/localization/locales/bg.json index 5225a3b1ba2b..a72c504f82c3 100644 --- a/shared/localization/locales/bg.json +++ b/shared/localization/locales/bg.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Забавяния в задния слой на сървъра" }, - "core/audits/no-unload-listeners.js | description": { - "message": "Събитието `unload` не се задейства надеждно и приемането му може да попречи на оптимизациите на браузъра, като например Back-Forward Cache. Вместо това използвайте събитията `pagehide` или `visibilitychange`. [Научете повече за приемателите на събития unload](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Регистрира приемател за `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Избягва приематели за събития `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "Анимациите, които не са комбинирани, могат да са с лошо качество и да увеличат стойността на показателя CLS. [Научете как да ги избягвате](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)." }, diff --git a/shared/localization/locales/ca.json b/shared/localization/locales/ca.json index d57ecc4828fc..d41611c6440e 100644 --- a/shared/localization/locales/ca.json +++ b/shared/localization/locales/ca.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Latències dorsals del servidor" }, - "core/audits/no-unload-listeners.js | description": { - "message": "L'esdeveniment `unload` no es pot activar amb fiabilitat i detectar-lo pot impedir optimitzacions del navegador, com ara la memòria cau endavant/enrere. Substitueix-lo pels esdeveniments `pagehide` o `visibilitychange`. [Més informació sobre com es poden baixar els detectors d'esdeveniments](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Registra un detector de `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Evita detectors d'esdeveniments `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "Les animacions que no són compostes poden ser lentes i augmentar el canvi de disseny acumulatiu. [Informació sobre com pots evitar les animacions no compostes](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/cs.json b/shared/localization/locales/cs.json index 20baf2d72c93..af614be9e53b 100644 --- a/shared/localization/locales/cs.json +++ b/shared/localization/locales/cs.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Latence backendu na serveru" }, - "core/audits/no-unload-listeners.js | description": { - "message": "Událost `unload` se nespouští spolehlivě. Naslouchání této události může zabránit optimalizacím v prohlížečích, jako je mezipaměť pro přechod zpět nebo vpřed. Použijte místo ní událost `pagehide` nebo `visibilitychange`. [Další informace o posluchačích událostí unload](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Registruje posluchač události `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Nepoužívá posluchače událostí `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "Neskládané animace mohou být nekvalitní a mohou zvyšovat míru kumulativní změny rozvržení (CLS). [Jak se vyhnout neskládaným animacím](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/da.json b/shared/localization/locales/da.json index 0236b6d904c3..76c1062d02a5 100644 --- a/shared/localization/locales/da.json +++ b/shared/localization/locales/da.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Forsinkelser for serverens backend" }, - "core/audits/no-unload-listeners.js | description": { - "message": "Hændelsen `unload` starter ikke stabilt, og hvis der ventes på den, kan det forhindre browseroptimeringer som f.eks. Back-Forward Cache. Anvend hændelsen `pagehide` eller `visibilitychange` i stedet. [Få flere oplysninger om hændelsesfunktioner for frigivelse](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Registrerer en hændelsesfunktion for `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Undgå hændelsesfunktioner for `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "Animationer, der ikke er sammensat, kan være langsomme og øge CLS. [Få oplysninger om, hvordan du undgår ikke-sammensatte animationer](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/de.json b/shared/localization/locales/de.json index a9e8a295d237..fd8060b33379 100644 --- a/shared/localization/locales/de.json +++ b/shared/localization/locales/de.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Server-Backend-Latenzen" }, - "core/audits/no-unload-listeners.js | description": { - "message": "Das `unload`-Ereignis wird nicht zuverlässig ausgelöst. Wenn der Listener darauf wartet, kann das Browseroptimierungen wie den Back-Forward-Cache beeinträchtigen. Bitte verwende stattdessen `pagehide`- oder `visibilitychange`-Ereignisse. [Weitere Informationen zum Entfernen von Event-Listenern](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Registriert einen `unload`-Listener" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Keine `unload`-Ereignis-Listener gefunden" - }, "core/audits/non-composited-animations.js | description": { "message": "Nicht zusammengesetzte Animationen werden eventuell nicht richtig gerendert und können den CLS-Wert erhöhen. [Informationen dazu, wie sich nicht zusammengefasste Animationen vermeiden lassen](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/el.json b/shared/localization/locales/el.json index 3c6039d4a8f8..5607550241af 100644 --- a/shared/localization/locales/el.json +++ b/shared/localization/locales/el.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Λανθάνοντες χρόνοι συστημάτων υποστήριξης διακομιστή" }, - "core/audits/no-unload-listeners.js | description": { - "message": "Το συμβάν `unload` δεν ενεργοποιείται με αξιοπιστία και η ακρόαση για το συμβάν μπορεί να αποτρέψει τις βελτιστοποιήσεις προγράμματος περιήγησης, όπως την κρυφή μνήμη πίσω/εμπρός. Αντ' αυτού, χρησιμοποιήστε το `pagehide` ή το `visibilitychange`. [Μάθετε περισσότερα σχετικά με την κατάργηση φόρτωσης των λειτουργιών αναμονής συμβάντος](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Εγγράφει μια λειτουργία αναμονής `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Αποφεύγει λειτουργίες αναμονής συμβάντων `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "Οι μη σύνθετες κινούμενες εικόνες ενδέχεται να είναι κακής ποιότητας και να αυξάνουν το CLS. [Μάθετε πώς μπορείτε να αποφύγετε τις μη σύνθετες κινούμενες εικόνες](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/en-GB.json b/shared/localization/locales/en-GB.json index 7daa7dc2e035..3b0983cc3358 100644 --- a/shared/localization/locales/en-GB.json +++ b/shared/localization/locales/en-GB.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Server Back-end Latencies" }, - "core/audits/no-unload-listeners.js | description": { - "message": "The `unload` event does not fire reliably and listening for it can prevent browser optimisations like the back-forward cache. Use `pagehide` or `visibilitychange` events instead. [Learn more about unload event listeners](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Registers an `unload` listener" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Avoids `unload` event listeners" - }, "core/audits/non-composited-animations.js | description": { "message": "Animations that are not composited can be poor, slow and increase CLS. [Learn how to avoid non-composited animations](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/en-US.json b/shared/localization/locales/en-US.json index 30c1fdb938dc..8fd261bd497a 100644 --- a/shared/localization/locales/en-US.json +++ b/shared/localization/locales/en-US.json @@ -1289,15 +1289,6 @@ "core/audits/network-server-latency.js | title": { "message": "Server Backend Latencies" }, - "core/audits/no-unload-listeners.js | description": { - "message": "The `unload` event does not fire reliably and listening for it can prevent browser optimizations like the Back-Forward Cache. Use `pagehide` or `visibilitychange` events instead. [Learn more about unload event listeners](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Registers an `unload` listener" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Avoids `unload` event listeners" - }, "core/audits/non-composited-animations.js | description": { "message": "Animations which are not composited can be janky and increase CLS. [Learn how to avoid non-composited animations](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/en-XA.json b/shared/localization/locales/en-XA.json index 77438feaa075..220bb8c1de9a 100644 --- a/shared/localization/locales/en-XA.json +++ b/shared/localization/locales/en-XA.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "[Šéŕvéŕ Бåçķéñð Ļåţéñçîéš one two three]" }, - "core/audits/no-unload-listeners.js | description": { - "message": "[Ţĥé ᐅ`unload`ᐊ évéñţ ðöéš ñöţ ƒîŕé ŕéļîåбļý åñð ļîšţéñîñĝ ƒöŕ îţ çåñ þŕévéñţ бŕöŵšéŕ öþţîmîžåţîöñš ļîķé ţĥé Бåçķ-Föŕŵåŕð Çåçĥé. Ûšé ᐅ`pagehide`ᐊ öŕ ᐅ`visibilitychange`ᐊ évéñţš îñšţéåð. ᐅ[ᐊĻéåŕñ möŕé åбöûţ ûñļöåð évéñţ ļîšţéñéŕšᐅ](https://web.dev/articles/bfcache#never_use_the_unload_event)ᐊ one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen twenty twentyone twentytwo twentythree twentyfour twentyfive twentysix twentyseven]" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "[Ŕéĝîšţéŕš åñ ᐅ`unload`ᐊ ļîšţéñéŕ one two three four five six]" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "[Åvöîðš ᐅ`unload`ᐊ évéñţ ļîšţéñéŕš one two three four five six]" - }, "core/audits/non-composited-animations.js | description": { "message": "[Åñîmåţîöñš ŵĥîçĥ åŕé ñöţ çömþöšîţéð çåñ бé ĵåñķý åñð îñçŕéåšé ÇĻŠ. ᐅ[ᐊĻéåŕñ ĥöŵ ţö åvöîð ñöñ-çömþöšîţéð åñîmåţîöñšᐅ](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)ᐊ one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen]" }, diff --git a/shared/localization/locales/en-XL.json b/shared/localization/locales/en-XL.json index cfb6d8441aa2..7a462ab9c307 100644 --- a/shared/localization/locales/en-XL.json +++ b/shared/localization/locales/en-XL.json @@ -1289,15 +1289,6 @@ "core/audits/network-server-latency.js | title": { "message": "Ŝér̂v́êŕ B̂áĉḱêńd̂ Ĺât́êńĉíêś" }, - "core/audits/no-unload-listeners.js | description": { - "message": "T̂h́ê `unload` év̂én̂t́ d̂óêś n̂ót̂ f́îŕê ŕêĺîáb̂ĺŷ án̂d́ l̂íŝt́êńîńĝ f́ôŕ ît́ ĉán̂ ṕr̂év̂én̂t́ b̂ŕôẃŝér̂ óp̂t́îḿîźât́îón̂ś l̂ík̂é t̂h́ê B́âćk̂-F́ôŕŵár̂d́ Ĉáĉh́ê. Úŝé `pagehide` ôŕ `visibilitychange` êv́êńt̂ś îńŝt́êád̂. [Ĺêár̂ń m̂ór̂é âb́ôút̂ ún̂ĺôád̂ év̂én̂t́ l̂íŝt́êńêŕŝ](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "R̂éĝíŝt́êŕŝ án̂ `unload` ĺîśt̂én̂ér̂" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Âv́ôíd̂ś `unload` êv́êńt̂ ĺîśt̂én̂ér̂ś" - }, "core/audits/non-composited-animations.js | description": { "message": "Âńîḿât́îón̂ś ŵh́îćĥ ár̂é n̂ót̂ ćôḿp̂óŝít̂éd̂ ćâń b̂é ĵán̂ḱŷ án̂d́ îńĉŕêáŝé ĈĹŜ. [Ĺêár̂ń ĥóŵ t́ô áv̂óîd́ n̂ón̂-ćôḿp̂óŝít̂éd̂ án̂ím̂át̂íôńŝ](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/es-419.json b/shared/localization/locales/es-419.json index 9173163026ca..74a7763a9785 100644 --- a/shared/localization/locales/es-419.json +++ b/shared/localization/locales/es-419.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Latencias de backend del servidor" }, - "core/audits/no-unload-listeners.js | description": { - "message": "El evento `unload` no se ejecuta de forma confiable y su escucha puede impedir las optimizaciones del navegador, como la Memoria caché atrás/adelante. En su lugar, usa los eventos `pagehide` o `visibilitychange`. [Más información sobre la descarga de objetos de escucha de eventos](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Registra un objeto de escucha de `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Evita los objetos de escucha de eventos de `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "Es posible que las animaciones que no estén compuestas se vean entrecortadas y aumenten el valor de CLS. [Más información para evitar las animaciones no compuestas](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/es.json b/shared/localization/locales/es.json index b430fee1e37f..fef5fee99d88 100644 --- a/shared/localization/locales/es.json +++ b/shared/localization/locales/es.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Latencias de backend del servidor" }, - "core/audits/no-unload-listeners.js | description": { - "message": "El evento `unload` no se activa de manera fiable y esperar a que se detecte puede impedir optimizaciones del navegador, como el almacenamiento en caché de páginas completas. Usa los eventos `pagehide` o `visibilitychange` en su lugar. [Más información sobre los procesadores de eventos de descarga](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Registra un procesador `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Impide el uso de procesadores de eventos `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "Las animaciones no compuestas pueden aparecer entrecortadas e incrementar el CLS. [Consulta cómo evitar las animaciones no compuestas](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/fi.json b/shared/localization/locales/fi.json index dc6f7e5456fc..2f210091db6b 100644 --- a/shared/localization/locales/fi.json +++ b/shared/localization/locales/fi.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Palvelimen taustaviiveet" }, - "core/audits/no-unload-listeners.js | description": { - "message": "`unload` ei käynnisty luotettavasti, ja sen kuuntelu voi estää selaimen optimoinnin, esim. Back-Forward-välimuistin toiminnan. Käytä sen sijaan `pagehide`- tai `visibilitychange`-tapahtumia. [Lue lisää tapahtumaseurainten tyhjentämisestä](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Rekisteröi (`unload`) kuuntelijan" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Ohittaa (`unload`) kuuntelijat" - }, "core/audits/non-composited-animations.js | description": { "message": "Sommittelemattomat animaatiot voivat olla huonolaatuisia ja nostaa CLS:ää. [Katso, miten voit välttää sommittelemattomia animaatioita](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)." }, diff --git a/shared/localization/locales/fil.json b/shared/localization/locales/fil.json index fb35604086db..057381d5983d 100644 --- a/shared/localization/locales/fil.json +++ b/shared/localization/locales/fil.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Mga Latency sa Backend ng Server" }, - "core/audits/no-unload-listeners.js | description": { - "message": "Hindi palaging gumagana nang maayos ang event na `unload` at puwedeng mapigilan ng paghihintay rito ang mga pag-optimize ng browser tulad ng Back-Forward Cache. Gamitin na lang ang event na `pagehide` o `visibilitychange`. [Matuto pa tungkol sa pag-unload ng mga event listener](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Nagrerehistro ng listener na `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Umiiwas sa mga event listener na `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "Kapag hindi na-composite ang animation, posibleng hindi maganda ang kalidad ng mga ito at posible ring mapataas ng mga ito ang CLS. [Alamin kung paano iwasan ang mga hindi na-composite na animation](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/fr.json b/shared/localization/locales/fr.json index 6227a6dad26f..8e8d4d386d43 100644 --- a/shared/localization/locales/fr.json +++ b/shared/localization/locales/fr.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Latences du backend serveur" }, - "core/audits/no-unload-listeners.js | description": { - "message": "L'événement `unload` ne se déclenche pas de manière fiable, et son analyse risque d'empêcher les optimisations du navigateur telles que la mise en cache des pages précédentes et suivantes. Utilisez plutôt les événements `pagehide` ou `visibilitychange`. [En savoir plus sur le déchargement des écouteurs d'événements](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Permet d'enregistrer un écouteur `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Permet d'éviter les écouteurs d'événements `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "Les animations non composées peuvent être lentes et augmenter le CLS. [Découvrez comment éviter les animations non composées.](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/he.json b/shared/localization/locales/he.json index 7d8f1e9e436e..f9a7bd121e1f 100644 --- a/shared/localization/locales/he.json +++ b/shared/localization/locales/he.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "זמני אחזור בקצה עורפי של שרת" }, - "core/audits/no-unload-listeners.js | description": { - "message": "האירוע `unload` לא מופעל בצורה אמינה, והפעלת ממשקי listener כדי לקלוט את האירוע הזה עשויה למנוע את השימוש באופטימיזציות שונות של הדפדפן, כמו האופטימיזציה במסגרת התכונה 'מטמון לדף הקודם/הבא'. יש להשתמש באירועי `pagehide` או `visibilitychange` במקום זאת. [מידע נוסף על ממשקי event listener להסרת הנתונים שנטענו](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "רישום מעבד אירוע של `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "הימנעות ממעבדי אירוע של `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "אנימציות שאינן מורכבות עלולות להיות איטיות ולהגדיל את ה-CLS. [איך להימנע מאנימציות לא מורכבות](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)?" }, diff --git a/shared/localization/locales/hi.json b/shared/localization/locales/hi.json index 8c7f1cf5cf9c..f0f735be2792 100644 --- a/shared/localization/locales/hi.json +++ b/shared/localization/locales/hi.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "सर्वर बैकएंड के इंतज़ार का समय" }, - "core/audits/no-unload-listeners.js | description": { - "message": "`unload` इवेंट भरोसेमंद नहीं होता और इसे इस्तेमाल करने की वजह से, ब्राउज़र को ऑप्टिमाइज़ करने की कुछ सुविधाएं रुक सकती हैं. जैसे, बैक-फ़ॉरवर्ड कैश मेमोरी. इसके बजाय, `pagehide` या `visibilitychange` इवेंट का इस्तेमाल करें. [अनलोड इवेंट लिसनर के बारे में ज़्यादा जानें](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "एक `unload` लिसनर रजिस्टर करता है" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "`unload` इवेंट लिसनर का इस्तेमाल नहीं किया जाता" - }, "core/audits/non-composited-animations.js | description": { "message": "कंपोज़िट नहीं किए गए ऐनिमेशन की क्वालिटी खराब हो सकती है और सीएलएस बढ़ सकता है. [कंपोज़ नहीं किए गए ऐनिमेशन से बचने का तरीका जानें](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/hr.json b/shared/localization/locales/hr.json index 3cb1a67ad17d..e9ac527fd46d 100644 --- a/shared/localization/locales/hr.json +++ b/shared/localization/locales/hr.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Pozadinske latencije poslužitelja" }, - "core/audits/no-unload-listeners.js | description": { - "message": "Događaj `unload` ne aktivira se na pouzdan način i njegovo osluškivanje može spriječiti optimizacije preglednika kao što je predmemoriranje cijele stranice Umjesto toga upotrijebite događaj `pagehide` ili `visibilitychange`. [Saznajte više o uklanjanju slušatelja događaja](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Registrira se kao slušatelj za događaj `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Izbjegava slušatelje događaja za `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "Animacije koje nisu kompozitne mogu biti lošije kvalitete i povisiti CLS. [Saznajte kako izbjeći nekompozitne animacije](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/hu.json b/shared/localization/locales/hu.json index 88476914d4f3..39e7cdb8e0db 100644 --- a/shared/localization/locales/hu.json +++ b/shared/localization/locales/hu.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Várakozási idő a háttérszervereknél" }, - "core/audits/no-unload-listeners.js | description": { - "message": "Az `unload` esemény működése nem megbízható, és figyelése megakadályozhatja a böngésző optimalizálását (például az előre-vissza gyorsítótárazást). Használja helyette a következő események valamelyikét: `pagehide` vagy `visibilitychange`. [További információ az eseményfigyelők kiürítéséről](https://web.dev/articles/bfcache#never_use_the_unload_event)." - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "`unload`-figyelőt regisztrál" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Elkerüli a(z) `unload`-eseményfigyelőket" - }, "core/audits/non-composited-animations.js | description": { "message": "A nem kompozit animációk minősége elégtelen lehet, és az ilyen animációk növelhetik a CLS-t. [További információ a nem kompozit animációk elkerüléséről](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)." }, diff --git a/shared/localization/locales/id.json b/shared/localization/locales/id.json index d69ccca54a02..02131f7b8c79 100644 --- a/shared/localization/locales/id.json +++ b/shared/localization/locales/id.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Latensi Backend Server" }, - "core/audits/no-unload-listeners.js | description": { - "message": "Peristiwa `unload` tidak diaktifkan dengan lancar dan jika diproses dapat mencegah upaya pengoptimalan browser seperti Back-Forward Cache. Sebagai gantinya, gunakan peristiwa `pagehide` atau `visibilitychange`. [Pelajari lebih lanjut cara menghapus muatan pemroses peristiwa](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Mendaftarkan pemroses `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Menghindari pemroses peristiwa `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "Animasi yang tidak digabungkan dapat tersendat dan menambah CLS. [Pelajari cara menghindari animasi non-gabungan](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/it.json b/shared/localization/locales/it.json index 5219772dbf3b..b85028d79a47 100644 --- a/shared/localization/locales/it.json +++ b/shared/localization/locales/it.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Latenze server backend" }, - "core/audits/no-unload-listeners.js | description": { - "message": "L'evento `unload` non viene attivato in modo affidabile e il relativo ascolto potrebbe impedire ottimizzazioni del browser quali cache back-forward. Utilizza invece gli eventi `pagehide` o `visibilitychange`. [Scopri di più sull'unload dei listener di eventi](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Registra un listener `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Evita i listener di eventi `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "Le animazioni non composite possono essere scadenti e aumentare il CLS. [Scopri come evitare le animazioni non composte](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/ja.json b/shared/localization/locales/ja.json index ae7a0adcc3c6..55eb33e71a8f 100644 --- a/shared/localization/locales/ja.json +++ b/shared/localization/locales/ja.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "サーバーのバックエンド待ち時間" }, - "core/audits/no-unload-listeners.js | description": { - "message": "`unload` イベントの発生は安定していないため、これをリッスンするとブラウザの最適化機能(バックフォワード キャッシュなど)が妨げられる可能性があります。代わりに `pagehide` または `visibilitychange` イベントを使用してください。[アンロード イベント リスナーの詳細](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "`unload` リスナーの登録" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "`unload` イベントのリスナーの回避" - }, "core/audits/non-composited-animations.js | description": { "message": "合成されていないアニメーションは動きが不自然になり、CLS が大きくなることがあります。[合成されていないアニメーションを避ける方法の詳細](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/ko.json b/shared/localization/locales/ko.json index 49f4f87e5bcf..db450c4a289c 100644 --- a/shared/localization/locales/ko.json +++ b/shared/localization/locales/ko.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "서버 백엔드 지연 시간" }, - "core/audits/no-unload-listeners.js | description": { - "message": "`unload` 이벤트는 안정적으로 실행되지 않으며 이 이벤트를 수신 대기하면 '뒤로-앞으로 캐시'와 같은 브라우저 최적화 기능을 사용하지 못할 수 있습니다. `pagehide` 또는 `visibilitychange` 이벤트를 대신 사용하세요. [이벤트 리스너 로드 취소에 관해 자세히 알아보기](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "`unload` 리스너 등록" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "`unload` 이벤트 리스너를 사용하지 않음" - }, "core/audits/non-composited-animations.js | description": { "message": "합성 작업을 거치지 않은 애니메이션은 품질이 나쁘고 CLS를 높일 수 있습니다. [합성 작업을 거치지 않은 애니메이션을 방지하는 방법 알아보기](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/lt.json b/shared/localization/locales/lt.json index 0cd3807c8f6c..d7c12db01dff 100644 --- a/shared/localization/locales/lt.json +++ b/shared/localization/locales/lt.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Serverio vidinės pusės delsa" }, - "core/audits/no-unload-listeners.js | description": { - "message": "Įvykis „`unload`“ patikimai nesuaktyvinamas ir jį apdorojant gali būti neleidžiama optimizuoti naršyklės, pvz., persiuntimo atgal ir pirmyn talpyklos. Vietoj to naudokite įvykį „`pagehide`“ arba „`visibilitychange`“. [Sužinokite daugiau apie įvykių apdorojimo priemonių iškėlimą](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Užregistruojama „`unload`“ apdorojimo priemonė" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Vengiama įvykio „`unload`“ apdorojimo priemonių" - }, "core/audits/non-composited-animations.js | description": { "message": "Nesudėtinės animacijos gali būti prastos kokybės ir dėl jų gali padidėti KIP. [Sužinokite, kaip išvengti nesudėtinių animacijų](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/lv.json b/shared/localization/locales/lv.json index 4a7125395f38..2558ee0a7ce5 100644 --- a/shared/localization/locales/lv.json +++ b/shared/localization/locales/lv.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Servera aizmugursistēmas latentums" }, - "core/audits/no-unload-listeners.js | description": { - "message": "Notikums “`unload`” nenodrošināja uzticamu aktivizēšanu, un tā uztveršana var liegt pārlūka optimizāciju, piemēram, pilnīgu saglabāšanu kešatmiņā. Tā vietā izmantojiet notikumu “`pagehide`” vai “`visibilitychange`”. [Uzziniet vairāk par ielādes atcelšanas notikumu uztvērējiem](https://web.dev/articles/bfcache#never_use_the_unload_event)." - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Reģistrē notikuma “`unload`” uztvērēju" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Izvairās no notikuma “`unload`” uztvērējiem" - }, "core/audits/non-composited-animations.js | description": { "message": "Nesaliktas animācijas var būt lēnas un palielināt kopējo izkārtojuma nobīdi. [Uzziniet, kā izvairīties no nesaliktām animācijām](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)." }, diff --git a/shared/localization/locales/nl.json b/shared/localization/locales/nl.json index f34b202e4a0e..de760264f033 100644 --- a/shared/localization/locales/nl.json +++ b/shared/localization/locales/nl.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Wachttijden van server-backend" }, - "core/audits/no-unload-listeners.js | description": { - "message": "De gebeurtenis `unload` wordt niet op een betrouwbare manier geactiveerd en hierop wachten kan ertoe leiden dat browseroptimalisaties zoals de Back-Forward Cache niet worden uitgevoerd. Gebruik in plaats daarvan de gebeurtenis `pagehide` of `visibilitychange`. [Meer informatie over het ongedaan maken van laden van event-listeners](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Registreert een `unload`-listener" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Vermijdt `unload`-event-listeners" - }, "core/audits/non-composited-animations.js | description": { "message": "Animaties die niet samengesteld zijn, kunnen langzaam zijn en ertoe leiden dat de CLS toeneemt. [Meer informatie over hoe je niet-samengestelde animaties vermijdt](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/no.json b/shared/localization/locales/no.json index 9a553f802e38..e74a1317c563 100644 --- a/shared/localization/locales/no.json +++ b/shared/localization/locales/no.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Forsinkelser i tjenerdelen" }, - "core/audits/no-unload-listeners.js | description": { - "message": "`unload`-hendelsen utløses ikke på en pålitelig måte. Å lytte til den kan forhindre nettleseroptimaliseringer, som frem-og-tilbake-bufferen. Bruk hendelsene `pagehide` eller `visibilitychange` i stedet. [Finn ut mer om utlasting av hendelseslyttere](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Registrerer en `unload`-lytter" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Unngår `unload`-hendelseslyttere" - }, "core/audits/non-composited-animations.js | description": { "message": "Animasjoner som ikke er sammensatte, kan være hakkete og bidra til økt CLS. [Finn ut hvordan du unngår ikke-sammensatte animasjoner](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/pl.json b/shared/localization/locales/pl.json index c094fa1501cc..5a8bae3a33c4 100644 --- a/shared/localization/locales/pl.json +++ b/shared/localization/locales/pl.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Opóźnienia backendu serwera" }, - "core/audits/no-unload-listeners.js | description": { - "message": "Zdarzenie `unload` nie zawsze jest uruchamiane prawidłowo, a wykrywanie go może uniemożliwić działanie mechanizmów optymalizujących pracę przeglądarki takich jak np. Back-Forward Cache. Zamiast tego użyj zdarzenia `pagehide` lub `visibilitychange`. [Więcej informacji o detektorach zdarzeń wyładowania](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Zarejestrowanie detektora zdarzeń `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Zarejestrowanie braku detektorów zdarzeń `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "Nieskomponowane animacje mogą działać nieprawidłowo i zwiększać CLS. [Jak unikać nieskomponowanych animacji](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/pt-PT.json b/shared/localization/locales/pt-PT.json index beeef0f4b7bd..ad2c20c2dcd6 100644 --- a/shared/localization/locales/pt-PT.json +++ b/shared/localization/locales/pt-PT.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Latências de back-end do servidor" }, - "core/audits/no-unload-listeners.js | description": { - "message": "O evento `unload` não é acionado de forma fiável e detetá-lo pode impedir otimizações do navegador, como a cache para a frente/para trás. Opte por usar eventos `pagehide` ou `visibilitychange`. [Saiba mais acerca dos ouvintes de eventos unload](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Regista um ouvinte `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Evita ouvintes de eventos `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "As animações que não são compostas podem ser de má qualidade e aumentar o CLS. [Saiba como evitar animações não compostas](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/pt.json b/shared/localization/locales/pt.json index 4dea2f3d5a86..e0da0265352f 100644 --- a/shared/localization/locales/pt.json +++ b/shared/localization/locales/pt.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Latências do back-end do servidor" }, - "core/audits/no-unload-listeners.js | description": { - "message": "O evento `unload` não é acionado de maneira confiável, e a detecção dele pode evitar otimizações do navegador, como o Back-Forward Cache. Use `pagehide` ou `visibilitychange`. [Saiba mais sobre como descarregar listeners de eventos](https://web.dev/articles/bfcache#never_use_the_unload_event)." - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Registra um listener `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Evita listeners de eventos `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "Animações que não são compostas podem ficar instáveis e aumentar a CLS. [Aprenda a evitar animações que não são compostas](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/ro.json b/shared/localization/locales/ro.json index 831c125a3462..cf0a5ef52940 100644 --- a/shared/localization/locales/ro.json +++ b/shared/localization/locales/ro.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Latențe ale backendului serverului" }, - "core/audits/no-unload-listeners.js | description": { - "message": "Evenimentul `unload` nu se declanșează într-un mod fiabil și ascultarea lui poate împiedica optimizări de browser cum ar fi memoria cache înainte-înapoi. Folosește evenimente `pagehide` sau `visibilitychange` în loc. [Află mai multe despre funcțiile de procesare a evenimentelor unload](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Înregistrează un listener `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Evită funcțiile de procesare a evenimentelor `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "Animațiile care nu sunt compuse pot fi dificile și pot spori CLS. [Află cum să eviți animațiile care nu sunt compuse](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)." }, diff --git a/shared/localization/locales/ru.json b/shared/localization/locales/ru.json index f1734b54ae25..6a8f2672e257 100644 --- a/shared/localization/locales/ru.json +++ b/shared/localization/locales/ru.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Задержка со стороны сервера" }, - "core/audits/no-unload-listeners.js | description": { - "message": "Событие `unload` активируется не всегда. Если для него создан прослушиватель, это может привести к ошибкам средств оптимизации браузера, например функции возвратного кеша. Рекомендуем использовать события `pagehide` или `visibilitychange`. Подробнее [о прослушивателе событий unload](https://web.dev/articles/bfcache#never_use_the_unload_event)…" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Регистрируется прослушиватель для события `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Не используются прослушиватели события `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "Некомбинированные анимации могут пропускать кадры и усиливать совокупное смещение макета. Подробнее о том, [как убрать некомбинированные анимации](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)…" }, diff --git a/shared/localization/locales/sk.json b/shared/localization/locales/sk.json index 172e978e3096..b21a750a46f0 100644 --- a/shared/localization/locales/sk.json +++ b/shared/localization/locales/sk.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Latencie na strane servera" }, - "core/audits/no-unload-listeners.js | description": { - "message": "Udalosť `unload` sa nespúšťa spoľahlivo a jej prijímanie môže brániť optimalizáciám prehliadača, ako je spätná vyrovnávacia pamäť. Použite namiesto nej udalosť `pagehide` alebo `visibilitychange`. [Ďalšie informácie o uvoľňovacích prijímačoch udalostí](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Registruje sa ako prijímač udalosti `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Nepoužíva prijímače udalosti `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "Nezložené animácie môžu byť nekvalitné a môžu zvýšiť kumulatívnu zmenu rozloženia. [Ako sa vyhnúť nezloženým animáciám](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/sl.json b/shared/localization/locales/sl.json index b836d09dda9b..74799a8e2c15 100644 --- a/shared/localization/locales/sl.json +++ b/shared/localization/locales/sl.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Zakasnitve strežnikovega zaledja" }, - "core/audits/no-unload-listeners.js | description": { - "message": "Dogodek `unload` se ne aktivira zanesljivo in poslušanje, kdaj se aktivira, lahko prepreči optimizacije brskalnika, kot je predpomnjenje pomikanja naprej in nazaj. Uporabite dogodke `pagehide` ali `visibilitychange`. [Preberite več o odstranjevanju poslušalcev dogodkov](https://web.dev/articles/bfcache#never_use_the_unload_event)." - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Registrira poslušalca dogodka `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Izogiba se poslušalcem dogodka `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "Animacije, ki niso sestavljene, so lahko nestabilne in lahko povečajo CLS. [Preberite, kako se lahko izognete nesestavljenim animacijam](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/sr-Latn.json b/shared/localization/locales/sr-Latn.json index 5505108c7a50..961cee365000 100644 --- a/shared/localization/locales/sr-Latn.json +++ b/shared/localization/locales/sr-Latn.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Pozadinska kašnjenja servera" }, - "core/audits/no-unload-listeners.js | description": { - "message": "Događaj `unload` se ne pokreće pouzdano i ako se on obrađuje, to može da spreči optimizacije pregledača poput keša za kretanje unazad i unapred. Bolje da koristite događaje `pagehide` ili `visibilitychange`. [Saznajte više o uklanjanju osluškivača događaja](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Registruje obrađivača događaja `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Izbegava obrađivače događaja `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "Animacije koje nisu kompozitne mogu da budu problematične i da povećavaju kumulativni pomak sadržaja stranice. [Saznajte kako da izbegnete animacije koje nisu kompozitne](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/sr.json b/shared/localization/locales/sr.json index 9f4189fafe2d..6bec1224fad8 100644 --- a/shared/localization/locales/sr.json +++ b/shared/localization/locales/sr.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Позадинска кашњења сервера" }, - "core/audits/no-unload-listeners.js | description": { - "message": "Догађај `unload` се не покреће поуздано и ако се он обрађује, то може да спречи оптимизације прегледача попут кеша за кретање уназад и унапред. Боље да користите догађаје `pagehide` или `visibilitychange`. [Сазнајте више о уклањању ослушкивача догађаја](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Региструје обрађивача догађаја `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Избегава обрађиваче догађаја `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "Анимације које нису композитне могу да буду проблематичне и да повећавају кумулативни помак садржаја странице. [Сазнајте како да избегнете анимације које нису композитне](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/sv.json b/shared/localization/locales/sv.json index 45c0ac833616..f217d538ea2b 100644 --- a/shared/localization/locales/sv.json +++ b/shared/localization/locales/sv.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Serverlatens" }, - "core/audits/no-unload-listeners.js | description": { - "message": "Händelsen `unload` aktiveras inte på ett tillförlitligt sätt och att lyssna efter den kan förhindra webbläsaroptimeringar, t.ex. vilocacheminne. Använd händelserna `pagehide` eller `visibilitychange` i stället. [Läs mer om att ta bort händelselyssnare](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Registrerar en lyssnare för `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Undviker händelselyssnare för `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "Animationer som inte är sammansatta kan vara hackiga och orsaka ökad CLS. [Läs om hur du undviker animationer som inte är sammansatta](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/ta.json b/shared/localization/locales/ta.json index daf26785cd2b..5987095500cd 100644 --- a/shared/localization/locales/ta.json +++ b/shared/localization/locales/ta.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "சேவையக பேக்எண்ட் தாமதங்கள்" }, - "core/audits/no-unload-listeners.js | description": { - "message": "`unload` நிகழ்வு நம்பத்தகுந்த வகையில் தொடங்கவில்லை, பக்கங்கள் மேற்கொண்டு இதைக் கையாண்டால் உலாவியின் மேம்பட்ட திறன்கள் தடுக்கப்படலாம் (‘முன் பின் பக்கங்களைத் தற்காலிகமாகச் சேமித்தல்’ அம்சம் போன்றவை). இதற்குப் பதிலாக `pagehide` அல்லது `visibilitychange` நிகழ்வுகளைப் பயன்படுத்தவும். [அன்லோடு ஈவண்ட் லிசனர்கள் குறித்து மேலும் அறிக](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "`unload` நிகழ்வு லிசனரைப் பதிவுசெய்கிறது" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "`unload` நிகழ்வு லிசனர்களைத் தவிர்க்கிறது" - }, "core/audits/non-composited-animations.js | description": { "message": "தொகுக்கப்படாத அனிமேஷன்கள் மோசமாக இருக்கும், CLSஸை அதிகரிக்கும். [தொகுக்கப்படாத அனிமேஷன்களைத் தவிர்ப்பது எப்படி என அறிக](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/te.json b/shared/localization/locales/te.json index 96ce3ef6b3de..be754279e9a7 100644 --- a/shared/localization/locales/te.json +++ b/shared/localization/locales/te.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "సర్వర్ బ్యాక్ఎండ్ ప్రతిస్పందన సమయాలు" }, - "core/audits/no-unload-listeners.js | description": { - "message": "ఈ `unload` ఈవెంట్ ఆశించినట్టు పని చేయదు, దాని కోసం వేచి ఉంటే, వెనుకకు-ముందుకు కాష్ లాంటి బ్రౌజర్ ఆప్టిమైజేషన్‌లు నిరోధించబడవచ్చు. అందుకు బదులుగా `pagehide` లేదా `visibilitychange` ఈవెంట్‌లను ఉపయోగించండి. [అన్‌లోడ్ ఈవెంట్ లిజనర్‌ల గురించి మరింత తెలుసుకోండి](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "`unload` లిజనర్‌గా రిజిస్టర్ చేస్తుంది" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "`unload` ఈవెంట్ లిజనర్స్‌ను అవాయిడ్‌ చేస్తుంది" - }, "core/audits/non-composited-animations.js | description": { "message": "కంపోజిట్ చేయని యానిమేషన్‌లు పేలవంగా ఉండవచ్చు, అవి CLSను పెంచవచ్చు. [కంపోజిట్ కాని యానిమేషన్‌లను నివారించడం ఎలాగో తెలుసుకోండి](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/th.json b/shared/localization/locales/th.json index a444bbdd1dae..91646de92c12 100644 --- a/shared/localization/locales/th.json +++ b/shared/localization/locales/th.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "เวลาในการตอบสนองจากแบ็กเอนด์ของเซิร์ฟเวอร์" }, - "core/audits/no-unload-listeners.js | description": { - "message": "เหตุการณ์ `unload` เริ่มทำงานโดยไม่มีความเสถียร และการ Listen อาจทำให้การเพิ่มประสิทธิภาพเบราว์เซอร์อย่าง Back-Forward Cache ไม่ทำงาน ใช้เหตุการณ์ `pagehide` หรือ `visibilitychange` แทน [ดูข้อมูลเพิ่มเติมเกี่ยวกับการยกเลิกการโหลด Listener เหตุการณ์](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "ลงทะเบียน Listener `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "หลีกเลี่ยง Listener เหตุการณ์ `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "ภาพเคลื่อนไหวที่ไม่ได้ทำการ Composite อาจมีคุณภาพต่ำและทำให้ CLS เพิ่มขึ้น [ดูวิธีหลีกเลี่ยงภาพเคลื่อนไหวที่ไม่ได้ทำการ Composite](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/tr.json b/shared/localization/locales/tr.json index cb3b7490f2d8..ba55dd0c3ade 100644 --- a/shared/localization/locales/tr.json +++ b/shared/localization/locales/tr.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Sunucunun Arka Uç Gecikmeleri" }, - "core/audits/no-unload-listeners.js | description": { - "message": "`unload` etkinliği güvenilir bir şekilde tetiklenmez ve etkinliğin dinlenmesi, Geri-İleri Önbelleği gibi tarayıcı optimizasyonlarını engelleyebilir. Bunun yerine `pagehide` veya `visibilitychange` etkinliklerini kullanın. [Kaldırma etkinlik işleyiciler hakkında daha fazla bilgi edinin](https://web.dev/articles/bfcache#never_use_the_unload_event)." - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Bir `unload` işleyicisi bulunuyor" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "`unload` etkinlik işleyicisi içermiyor" - }, "core/audits/non-composited-animations.js | description": { "message": "Birleştirilmemiş animasyonlar kalitesiz olabilir ve CLS'yi artırır. [Bileşik olmayan animasyonları nasıl önleyeceğinizi öğrenin](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)." }, diff --git a/shared/localization/locales/uk.json b/shared/localization/locales/uk.json index 0ce0de4568d3..6e569aea30ca 100644 --- a/shared/localization/locales/uk.json +++ b/shared/localization/locales/uk.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Затримка сервера" }, - "core/audits/no-unload-listeners.js | description": { - "message": "Подія `unload` активується ненадійно, і її прослуховування може запобігти оптимізації веб-переглядача, наприклад зворотного кешу. Натомість використовуйте подію `pagehide` або `visibilitychange`. [Докладніше про вивантаження блоків прослуховування подій.](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Реєструє прослуховувач події \"`unload`\"" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Уникає прослуховувачів події \"`unload`\"" - }, "core/audits/non-composited-animations.js | description": { "message": "Анімації без композитингу можуть бути неякісними та підвищувати показник CLS. [Дізнайтесь, як уникати анімацій без композитингу.](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/vi.json b/shared/localization/locales/vi.json index d40c3e1b9886..4536d3f4fe76 100644 --- a/shared/localization/locales/vi.json +++ b/shared/localization/locales/vi.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "Thời gian dưới nền của máy chủ" }, - "core/audits/no-unload-listeners.js | description": { - "message": "Sự kiện `unload` kích hoạt không ổn định và việc làm theo sự kiện này có thể ngăn các hoạt động tối ưu hoá trình duyệt, chẳng hạn như Bộ nhớ đệm cho thao tác tiến/lùi. Hãy chuyển sang dùng sự kiện `pagehide` hoặc `visibilitychange`. [Tìm hiểu thêm về trình nghe sự kiện huỷ tải](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "Đăng ký trình xử lý sự kiện `unload`" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "Tránh dùng trình xử lý sự kiện `unload`" - }, "core/audits/non-composited-animations.js | description": { "message": "Các ảnh động không được ghép có thể kém chất lượng và làm tăng CLS (Điểm số tổng hợp về mức thay đổi bố cục). [Tìm hiểu cách tránh ảnh động không được ghép](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/zh-HK.json b/shared/localization/locales/zh-HK.json index 667e0ad1df94..47982b14028a 100644 --- a/shared/localization/locales/zh-HK.json +++ b/shared/localization/locales/zh-HK.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "伺服器後端延遲時間" }, - "core/audits/no-unload-listeners.js | description": { - "message": "「`unload`」事件無法保證觸發,而偵聽此事件可能會防礙瀏覽器優化項目操作,例如向前/返回快取。請改用「`pagehide`」或「`visibilitychange`」事件。[進一步瞭解卸載事件監聽器](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "發現 `unload` 偵聽器" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "避免 `unload` 事件偵聽器" - }, "core/audits/non-composited-animations.js | description": { "message": "未合成的動畫可能無法順暢播放,而且會增加累計版面配置轉移 (CLS)。[瞭解如何避免使用非合成動畫](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/zh-TW.json b/shared/localization/locales/zh-TW.json index 221d7016901e..797e76c12e6a 100644 --- a/shared/localization/locales/zh-TW.json +++ b/shared/localization/locales/zh-TW.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "伺服器後端延遲時間" }, - "core/audits/no-unload-listeners.js | description": { - "message": "`unload` 事件無法穩定觸發,監聽該活動可能會妨礙系統進行某些瀏覽器最佳化作業 (例如往返快取)。請改用 `pagehide` 或 `visibilitychange` 事件。[進一步瞭解卸載事件監聽器](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "註冊 `unload` 事件監聽器" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "避免使用 `unload` 事件監聽器" - }, "core/audits/non-composited-animations.js | description": { "message": "未合成的動畫可能無法順暢播放,而且會增加 CLS。[瞭解如何避免使用非合成動畫](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/shared/localization/locales/zh.json b/shared/localization/locales/zh.json index f54a5abb2db4..55c5a8582183 100644 --- a/shared/localization/locales/zh.json +++ b/shared/localization/locales/zh.json @@ -1286,15 +1286,6 @@ "core/audits/network-server-latency.js | title": { "message": "服务器后端延迟" }, - "core/audits/no-unload-listeners.js | description": { - "message": "“`unload`”事件不会可靠地触发,而且监听该事件可能会妨碍系统实施“往返缓存”之类的浏览器优化策略。请改用“`pagehide`”或“`visibilitychange`”事件。[详细了解如何卸载事件监听器](https://web.dev/articles/bfcache#never_use_the_unload_event)" - }, - "core/audits/no-unload-listeners.js | failureTitle": { - "message": "注册“`unload`”事件监听器" - }, - "core/audits/no-unload-listeners.js | title": { - "message": "避免使用“`unload`”事件监听器" - }, "core/audits/non-composited-animations.js | description": { "message": "未合成的动画可能会卡顿并增加 CLS。[了解如何避免使用未合成的动画](https://developer.chrome.com/docs/lighthouse/performance/non-composited-animations/)" }, diff --git a/third-party/devtools-tests/e2e/lighthouse/navigation_test.ts b/third-party/devtools-tests/e2e/lighthouse/navigation_test.ts index b21f9ae1955b..42b310df382d 100644 --- a/third-party/devtools-tests/e2e/lighthouse/navigation_test.ts +++ b/third-party/devtools-tests/e2e/lighthouse/navigation_test.ts @@ -122,7 +122,7 @@ describe('Navigation', function() { }); const {auditResults, erroredAudits, failedAudits} = getAuditsBreakdown(lhr, ['max-potential-fid']); - assert.strictEqual(auditResults.length, 166); + assert.strictEqual(auditResults.length, 165); assert.deepStrictEqual(erroredAudits, []); assert.deepStrictEqual(failedAudits.map(audit => audit.id), [ 'installable-manifest', @@ -204,7 +204,7 @@ describe('Navigation', function() { ]; const {auditResults, erroredAudits, failedAudits} = getAuditsBreakdown(lhr, flakyAudits); - assert.strictEqual(auditResults.length, 166); + assert.strictEqual(auditResults.length, 165); assert.deepStrictEqual(erroredAudits, []); assert.deepStrictEqual(failedAudits.map(audit => audit.id), [ 'installable-manifest', diff --git a/third-party/devtools-tests/e2e/lighthouse/timespan_test.ts b/third-party/devtools-tests/e2e/lighthouse/timespan_test.ts index 50352b6800c0..d439f38a2df3 100644 --- a/third-party/devtools-tests/e2e/lighthouse/timespan_test.ts +++ b/third-party/devtools-tests/e2e/lighthouse/timespan_test.ts @@ -91,7 +91,7 @@ describe('Timespan', function() { assert.strictEqual(devicePixelRatio, 1); const {auditResults, erroredAudits, failedAudits} = getAuditsBreakdown(lhr); - assert.strictEqual(auditResults.length, 47); + assert.strictEqual(auditResults.length, 46); assert.deepStrictEqual(erroredAudits, []); assert.deepStrictEqual(failedAudits.map(audit => audit.id), []);