Как прервать загрузку веб-страницы в браузере

Обновлено: 21.11.2024

Информация в этом разделе относится как к кросс-платформенным, так и к классическим веб-тестам.

Загрузка сложных динамических веб-страниц может занять несколько секунд, а сценарии веб-страницы также могут загружать дополнительный контент после загрузки страницы. В результате время загрузки веб-страницы во время тестового воспроизведения может быть больше, чем во время записи. Чтобы избежать сбоев тестов из-за проблем со временем, вы можете настроить тесты на ожидание полной загрузки веб-страницы или элемента.

В сценариях

В сценариях можно дождаться полной загрузки веб-страницы, используя следующие подходы:

Ожидание объекта страницы

Метод Sys.Browser().WaitPage позволяет приостановить выполнение теста до тех пор, пока не станет доступным объект Page, содержащий указанный URL-адрес, или пока не истечет указанный период времени.

Примечание. Этот метод не ожидает полной загрузки веб-страницы, он ожидает только того, что объект Page станет доступным.

Вы можете использовать свойство Page.Exists, чтобы определить, успешно ли загружена страница (см. ниже).

Использование жестко заданных задержек

Чтобы дождаться полной загрузки веб-страницы, вы можете использовать один из следующих способов:

Вы можете указать время ожидания для методов, используя их параметр WaitTime. Тестовый запуск будет приостановлен до тех пор, пока браузер не загрузит страницу и не будет готов принять пользовательский ввод, или пока не будет достигнуто указанное время ожидания. Если параметр опущен или равен -1, время ожидания определяется параметром времени ожидания загрузки веб-страницы проекта.

Это работает для простых страниц и приемлемо в большинстве ситуаций. Однако это может не работать для сложных страниц, особенно для динамических страниц. Процесс может сообщить, что страница загружена, в то время как некоторые элементы страницы все еще загружаются или создаются. Это происходит, например, когда страница содержит фреймы или код скрипта, выполняющий дополнительную обработку при загрузке страницы. Чтобы дождаться загрузки страницы, вы можете вызвать метод Delay:

функция useDelay()
var page;

// Запускаем Internet Explorer и открываем страницу
var options = "platform": "Windows 10",
"browserName": "Internet Explorer",
"версия": "11",
"screenResolution": "1366x768"
>;
var server = "http://hub.crossbrowsertesting.com:80/wd/hub";
Browsers.RemoteItem(сервер, возможности).Run("http://smartbear.com/");

// Подождите 10 секунд, пока страница загрузится
aqUtils.Delay(10000);

// Получить объект страницы
page = Sys.Browser().Page("*");

функция useDelay()
var page;

// Запускаем Internet Explorer и открываем страницу
var Возможности = "";
var server = "http://hub.crossbrowsertesting.com:80/wd/hub";
Browsers.RemoteItem(сервер, возможности).Run("http://smartbear.com/");

// Подождите 10 секунд, пока страница загрузится
aqUtils.Delay(10000);

// Получить объект страницы
page = Sys.Browser().Page("*");

Sub useDelay
Затемнение страницы

' Запустите Internet Explorer и откройте страницу
capabilities = ""
server = "http://hub.crossbrowsertesting.com:80/wd/hub" < br />Вызов Browsers.RemoteItem(сервер, возможности).Run("http://smartbear.com/")

' Подождите 10 секунд, пока страница загрузится
aqUtils.Delay 10000

' Получить объект страницы
Set page = Sys.Browser.Page("*")

Конец подписки

процедура useDelay();
сервер var, возможности, страница: OleVariant;
начало

// Подождите 10 секунд, пока страница загрузится
aqUtils.Delay(10000);

// Получить объект страницы
page := Sys.Browser.Page('*');

функция useDelay()
var page;

// Подождите 10 секунд, пока страница загрузится
aqUtils["Delay"](10000);

// Получить объект страницы
page = Sys["Browser"]()["Page"]("*");

функция useDelay()
var page;

// Запускаем Internet Explorer и открываем страницу
Browsers.Item(btIExplorer).Run("http://smartbear.com/");

// Подождите 10 секунд, пока страница загрузится
aqUtils.Delay(10000);

// Получить объект страницы
page = Sys.Browser().Page("*");

Sub useDelay
Затемнение страницы

' Запустите Internet Explorer и откройте страницу
Browsers.Item(btIExplorer).Run("http://smartbear.com/")

' Подождите 10 секунд, пока страница загрузится
aqUtils.Delay 10000

' Получить объект страницы
Set page = Sys.Browser.Page("*")

Конец подписки

процедура useDelay();
страница var: OleVariant;
начать

// Подождите 10 секунд, пока страница загрузится
aqUtils.Delay(10000);

// Получить объект страницы
page := Sys.Browser.Page('*');

функция useDelay()
var page;

// Запускаем Internet Explorer и открываем страницу
Browsers["Item"](btIExplorer)["Run"]("http://smartbear.com/");

// Подождите 10 секунд, пока страница загрузится
aqUtils["Delay"](10000);

// Получить объект страницы
page = Sys["Browser"]()["Page"]("*");

Использование жестко заданных задержек имеет несколько недостатков. Например, тест будет приостановлен, даже если страница уже загружена. Кроме того, тест может завершиться ошибкой, если веб-страница не была загружена во время задержки.

Ожидание элемента на странице

Чтобы убедиться, что веб-страница загружена, вы можете дождаться загрузки «проблемных» элементов.

Общий подход заключается в том, чтобы подождать, пока нужный элемент веб-страницы не станет доступным или пока он не будет содержать правильные значения. Например, если вы знаете, что скрипт страницы добавляет теги HTML или изменяет их текст, вы можете создать тест, который будет ожидать, пока элемент не станет доступным (или пока содержимое не будет изменено).

В следующем примере кода показано, как дождаться элемента, атрибут href которого включает TestComplete:

let page = Sys.Browser().Page("*");

// Ожидание объекта
do
var obj = page.WaitElement("//a[contains(@href, 'TestComplete')]", 100 );
>
пока (! obj.Exists)
.

var page = Sys.Browser().Page("*");

// Ожидание объекта
do
var obj = page.WaitElement("//a[contains(@href, 'TestComplete')]", 100 );
>
пока (! obj.Exists)
.

Задать страницу = Sys.Browser.Page("*")

' Ждать объект
Выполнить
Set obj = page.WaitElement("//a[contains(@href, 'TestComplete')]", 100)
Цикл, пока obj.Exists

var page, obj : OleVariant;
начало
page := Sys.Browser.Page('*');

// Ожидание объекта
повторить
obj := page.WaitElement('//a[contains(@href, "TestComplete")]', 100 );
пока объект не существует;
.
конец;

var page = Sys["Браузер"]()["Страница"]("*");

// Ожидание объекта
do
var obj = page["WaitElement"]("//a[contains(@href, 'TestComplete')] ", 100);
>
пока (! obj["Существует"])
.

В следующем примере кода показано, как дождаться элемента, свойство contentText которого равно TestComplete:

Примечание. Этот пример несовместим с кроссплатформенным веб-тестированием.

// Запускаем Internet Explorer и открываем страницу
Browsers.Item(btIExplorer).Run("http://smartbear.com/");
page = Sys.Browser().Page("*");

// Ожидание объекта
do
Delay(100);
obj = page.NativeWebObject.Find("contentText", "TestComplete");
>
пока (! obj.Exists)
.

// Запускаем Internet Explorer и открываем страницу
Browsers.Item(btIExplorer).Run("http://smartbear.com/");
page = Sys.Browser().Page("*");

// Ожидание объекта
do
Delay(100);
obj = page.NativeWebObject.Find("contentText", "TestComplete");
>
пока (! obj.Exists)
.

' Запустите Internet Explorer и откройте страницу
Browsers.Item(btIExplorer).Run("http://smartbear.com/")
Set page = Sys .Браузер.Страница("*")

' Ожидание объекта
Выполнить
Задержка 100
Установить obj = page.NativeWebObject.Find("contentText", "TestComplete")
Цикл, пока obj.Exists

// Ожидание объекта
повторить
Delay(100);
obj := page.NativeWebObject.Find('contentText', 'TestComplete');
пока объект не существует;
.
конец;

// Запускаем Internet Explorer и открываем страницу
Browsers["Item"](btIExplorer)["Run"]("http://smartbear.com/");
page = Sys["Браузер"]()["Страница"]("*");

// Ожидание объекта
do
Delay(100);
obj = page["NativeWebObject"]["Найти"]("contentText", "TestComplete");
>
пока (! obj["Существует"])
.

В тестах ключевых слов

Чтобы открыть веб-страницу из тестов ключевых слов в TestComplete, используйте операцию навигации. Операция ожидает полной загрузки веб-страницы в течение периода, указанного ее параметром WaitTime. Если параметр не указан, время ожидания определяется параметром времени ожидания загрузки веб-страницы проекта. Однако операция может сообщить, что страница была загружена, пока она еще загружается (например, скрипты динамических веб-страниц могут загружать дополнительный контент или изменять существующий контент после загрузки страницы).

Чтобы обойти эту проблему, можно указать дополнительное время ожидания с помощью операции "Задержка". Эта операция приостанавливает ваш тест на указанный период.

Вы также можете вызвать любой из описанных выше методов из тестов ключевых слов. Для этого используйте метод Call Object или операцию Run Code Snippet. Подробное описание того, как вызывать методы из тестов ключевых слов, см. в разделе Вызов методов объекта.

Если у вас есть свидетельство об освобождении от уплаты налогов, прикрепите его сюда. Поддерживаются форматы файлов .pdf, .jpg, .jpg.

Введите здесь детали вашего запроса. Если вы не проживаете в стране или штате, где мы собираем налоги, и считаете, что мы не должны взимать с вас налоги, объясните.

Если у вас есть отзыв о том, как мы собираем налог с продаж, отправьте его здесь. Ваши отзывы помогают сделать Squarespace лучше, и мы рассматриваем каждый полученный запрос. Обратите внимание, что мы не можем ответить индивидуально, но мы свяжемся с вами, если нам потребуется дополнительная информация.

Мы понимаем огромные проблемы, которые пандемия коронавируса создает для людей и малого бизнеса во всем мире. Здесь, в службе поддержки клиентов Squarespace, мы делаем все возможное, чтобы ответить на ваши вопросы и оказать помощь нашему сообществу.

Если вам нужна поддержка в эти непростые времена, отправьте следующую форму, и мы подберем для вас варианты. Предоставьте конкретные сведения о вашей проблеме или запросе, например:

• Приостановить или отменить мою подписку

• Обсудите варианты финансового облегчения расходов на подписку

• Помогите мне настроить мой сайт в соответствии с текущей ситуацией

• Посоветуйте, как лучше всего настроить мой новый сайт

• Включить определенную функцию на моем сайте

Член нашей команды ответит как можно быстрее.

Справочные центры Squarespace Scheduling и Acuity Scheduling объединены. Если вы пришли из Справочного центра Acuity, здесь вы найдете необходимую помощь. Все руководства по планированию Squarespace также применимы к Acuity; несколько отличающихся функций четко обозначены.

Используйте эту форму, чтобы отправить запрос относительно сайта умершего клиента Squarespace. Мы выражаем наши глубочайшие соболезнования вам и вашей семье в течение этого времени, и мы ценим ваше терпение, пока мы работаем над вашим запросом.
Из-за соображений конфиденциальности и ограничений мы, к сожалению, не можем предоставить вам административный контроль над сайтом. Однако если ближайший родственник или законный представитель заполнит приведенную ниже форму, мы сможем предоставить разрешения на выставление счетов, чтобы сайт мог оставаться активным, или отменить любые активные подписки.
Обратите внимание, что разрешения на выставление счетов не включают возможность редактировать содержимое сайта. Подробнее об этом можно прочитать здесь.
Примечание относительно сайтов Squarespace 5:
Squarespace 5, наша устаревшая платформа, не позволяет изменять разрешения. Однако мы можем отменить или удалить сайт.

Приложите следующие документы: • Изображение вашего удостоверения личности государственного образца, такого как водительские права, паспорт, военный билет или вид на жительство. Это доказательство вашего родства с умершим. • Изображение некролога умершего, свидетельства о смерти и/или других документов. • Любые дополнительные документы, например документация юридического представительства.

• Узнайте, что происходит, когда мы удаляем вашу учетную запись.

• Убедитесь, что вы действительно этого хотите.

• Выполните несколько шагов для подготовки. Например, сначала вам нужно будет отменить все подписки.

После того как вы отправите запрос, вы получите электронное письмо от нашей команды, чтобы подтвердить доступ к вашей учетной записи и подтвердить, что этот запрос не был сделан по ошибке.

Прежде чем указать ниже свое удостоверение личности государственного образца, знаете ли вы, что можете отправить запрос на удаление своей учетной записи в Squarespace здесь (без предоставления своего удостоверения личности)? Эта форма предназначена только для людей, которые потеряли доступ к: (1) своей учетной записи Squarespace; или (2) адрес электронной почты, связанный с их учетной записью Squarespace.

Загрузите копию удостоверения личности государственного образца (например, водительских прав или паспорта). Вы можете стереть конфиденциальную информацию перед загрузкой.

Чтобы узнать больше о Squarespace Select, нашем премиум-плане поддержки специализированных сайтов, посетите это Справочное руководство.

Если у вас остались вопросы о плане Select, заполните поля ниже, чтобы отправить нам сообщение.

Отправьте нам сообщение. Часы работы: с понедельника по пятницу с 5:30 до 20:00 по восточноевропейскому времени. На сообщения, отправленные в нерабочее время, ответят в течение 12 часов.

Мне нужен интернет-браузер для устройств Android (например, смартфонов, планшетов и т. д.), в котором есть встроенная кнопка "Остановить загрузку", такая же, как в браузерах для ОС Windows, где можно нажать кнопка, чтобы остановить загрузку веб-сайта в середине потока. Я пробовал разные браузеры для Android. Кажется, ни у кого из них нет такой функции.

Участвуйте, чтобы выиграть еженедельные подарочные карты (от 100 евро), Oculus и наушники/колонки

Конкурс завершается 27 марта 2022 г. Конкурсы Каждую неделю узнайте больше о том, как Red Hat может помочь вам добиться простоты и цифровых инноваций, и ответьте на вопрос. Детали конкурса Просмотреть все конкурсы

6 ответов

Лэрд Спайсхед

Вы имеете в виду X рядом с URL-адресом при использовании Firefox?

Большой Перси

В Chrome откройте меню из трех точек рядом с адресной строкой. Значок обновления ведет себя так же, как и в Chrome на рабочем столе. т.е. когда страница загружается, это значок остановки

Думаю, вам следует начать использовать браузер Tor для безопасного и быстрого поиска. Это дает вам кнопку остановки просмотра.

Брони Оверлорд

Edge имеет один справа от адресной строки. Он изменяется на обновление после загрузки страницы.

Эта тема заблокирована администратором и больше не открыта для комментариев.

Чтобы продолжить это обсуждение, задайте новый вопрос.

Щелкни! Lapsus$, Excel RAT, Honda Hackers, Lunar Landers, Windows Easter Egg

Ваша ежедневная доза технических новостей. Вы должны это услышать. Подозреваемые Lapsus$ арестованы за взломы Microsoft, Nvidia, Okta. Больше информации о группе Lapsus$, ответственной за ряд недавних кибератак. Несколько из группы».

Искра! Серия Pro — 25 марта 2022 г.

Friday Из бесплатной энциклопедии Википедии. Другие значения см. в Friday (значения). Пятница — день недели между четвергом и субботой. В странах, принимающих обычай "понедельник-первый".

Очень необычный спам. Ответить на темы + ссылка OneDrive + файл PWD

Поэтому я недавно заметил резкое увеличение входящего спама и заметил очень необычный новый спам. Он имеет несколько очень специфических характеристик, которые отличают его от обычных спам-сообщений: 1 – он содержит настоящие цепочки ответов по электронной почте2 – он содержит настоящие имена.

Есть ли недостатки безопасности при использовании VPN?

Недавно я начал использовать VPN на некоторых своих устройствах как один из способов внедрения более эффективных методов работы с персональными компьютерами. Но кажется, что некоторые учетные записи, в которые я вхожу, используются для входа с одного из 2 или 3 IP-адресов. - поэтому, когда я пытаюсь войти в систему, пока вы.

Давайте поздравим SpiceRex с днем ​​рождения, поскольку ему исполняется 12 лет!

Хотите верьте, хотите нет, но 27 марта 2022 года SpiceRex исполняется 12 лет! Те из вас, кто был в сообществе Spiceworks какое-то время, вероятно, уже знают, кто такой большой оранжевый тираннозавр рекс. Но некоторые из наших участников могут этого не делать, так что давайте немного истории.

Lighthouse – это автоматизированный инструмент для улучшения качества вашего сайта. Вы даете ему URL-адрес, и он предоставляет список рекомендаций о том, как улучшить производительность страницы, сделать страницы более доступными, придерживаться лучших практик и многое другое. Вы можете запустить его из Chrome DevTools, как расширение Chrome или даже как модуль Node, что полезно для непрерывной интеграции.

Некоторое время Lighthouse предоставлял множество советов по повышению производительности загрузки страниц, например, включение сжатия текста или уменьшение количества скриптов, блокирующих отрисовку. Команда Lighthouse продолжает выпускать новые аудиты, чтобы дать вам еще больше полезных советов по ускорению работы ваших сайтов. Этот пост представляет собой сводку полезных аудитов производительности, о которых вы, возможно, не знали, таких как:

Разбивка основной работы

Если вы когда-либо пользовались панелью производительности в DevTools, вы знаете, что получение информации о том, сколько процессорного времени было затрачено на загрузку страницы, может быть непростой задачей. Мы рады сообщить, что эта информация теперь легко и удобно доступна через новый аудит основных потоков работы.

Рисунок 1. Разбивка активности основного потока в Lighthouse.

Эта новая диагностика оценивает, сколько и каких действий происходит во время загрузки страницы, что можно использовать для устранения проблем с производительностью загрузки, связанных с макетом, оценкой скриптов, синтаксическим анализом и другими действиями.

Запросы ключей предварительной загрузки

Когда браузеры извлекают ресурсы, они делают это по мере того, как находят ссылки на них в документе и его подресурсах. Иногда это может быть неоптимальным, потому что некоторые важные ресурсы обнаруживаются довольно поздно в процессе загрузки страницы. К счастью, rel=preload дает разработчикам возможность подсказать совместимым браузерам, какие ресурсы следует загрузить как можно скорее. Новый аудит Preload Key Requests позволяет разработчикам узнать, какие ресурсы могут выиграть от более ранней загрузки с помощью rel=preload .

Рисунок 2. Аудит Preload Key Requests Lighthouse рекомендует список ресурсов для предварительной загрузки.

Очень важно протестировать и сравнить изменения производительности с rel=preload и без него, так как это может повлиять на производительность загрузки неожиданным для вас образом. Например, предварительная загрузка большого изображения может задержать первоначальный рендеринг, но компромисс заключается в том, что предварительно загруженное изображение появится в макете раньше. Всегда следите за тем, чтобы результаты вас устраивали!

Высокое время загрузки JavaScript

Когда загружается слишком много JavaScript, страница может перестать отвечать на запросы, поскольку браузер анализирует, компилирует и выполняет ее. Сценарии и реклама сторонних производителей являются особым источником чрезмерной активности сценариев, которая может привести к зависанию даже мощных устройств. Новый аудит JavaScript Boot-up Time is High показывает, сколько процессорного времени потребляет каждый скрипт на странице, а также его URL:

Рисунок 3. Lighthouse, показывающий время оценки, синтаксического анализа и компиляции скриптов на странице.

При запуске этого аудита вы также можете включить сторонние значки на сетевой панели и отфильтровать список, чтобы идентифицировать сторонние ресурсы сценариев. С данными этого аудита вы будете лучше подготовлены к поиску источников чрезмерной активности JavaScript, которые превращают страницы из быстрых в медленные. Для сценариев, специфичных для вашего приложения, вы можете использовать такие методы, как разделение кода и встряхивание дерева, чтобы ограничить объем JavaScript на каждой странице вашего сайта.

Избегает переадресации страниц

Иногда, когда браузер запрашивает URL-адрес, сервер может ответить 300-уровневым кодом состояния. Это заставляет браузер перенаправлять на другой URL-адрес. Хотя перенаправления необходимы для SEO и удобства, они увеличивают задержку запросов. Это особенно верно, если они перенаправляют на другие источники, что может потребовать дополнительного поиска DNS и времени согласования соединения/TLS.

Рисунок 4. Цепочка перенаправлений на сетевой панели инструментов разработчика Chrome.

Перенаправления нежелательны для целевых страниц вашего сайта. Чтобы помочь вам уменьшить задержку и повысить производительность загрузки, Lighthouse теперь предлагает аудит избегает перенаправлений страниц, который позволяет узнать, когда навигация вызывает какие-либо перенаправления.

Рисунок 5. Список переадресаций страниц в Lighthouse.

Обратите внимание, что этот аудит сложно запустить в версии Lighthouse для DevTools, поскольку он анализирует текущий URL-адрес в адресной строке страницы, что отражает разрешение всех переадресаций. Скорее всего, вы увидите этот аудит в Node CLI.

Неиспользуемый JavaScript

Мертвый код может стать серьезной проблемой в приложениях, интенсивно использующих JavaScript. Хотя он не требует затрат на выполнение, поскольку никогда не вызывается, он имеет другие нежелательные эффекты. Мертвый код по-прежнему загружается, анализируется и компилируется браузером. Это влияет на производительность загрузки и время загрузки JavaScript. Подобно панели покрытия в DevTools, аудит неиспользуемого JavaScript показывает, что JavaScript загружен текущей страницей, но никогда не используется.

Рисунок 6. Lighthouse, показывающий объем неиспользуемого JavaScript на странице.

С помощью этого аудита вы можете выявить мертвый код в своих приложениях и удалить его, чтобы повысить производительность загрузки и сократить использование системных ресурсов. Совет для профессионалов. Чтобы найти эту информацию, вы также можете использовать панель покрытия кода в Chrome DevTools!

Использует неэффективную политику кэширования статических ресурсов

Хотя многие советы по повышению производительности, как правило, сосредоточены на повышении скорости веб-сайта для новых пользователей, также важно использовать кэширование для повышения производительности загрузки для вернувшихся пользователей. Аудит использует неэффективную политику кэширования для статических ресурсов проверяет заголовки кэширования для сетевых ресурсов и уведомляет вас, если политики кэширования для статических ресурсов не соответствуют стандартам.

Рисунок 7.

С помощью этого аудита вы сможете легко находить и устранять проблемы с вашей текущей политикой кэширования. Это значительно повысит производительность для вернувшихся пользователей, и они оценят дополнительную скорость!

Избегайте дорогостоящих многократных поездок туда и обратно в любой пункт отправления

Когда браузеры извлекают ресурсы с сервера, выполнение поиска DNS и установка соединения с сервером может занять значительное время. rel=preconnect позволяет разработчикам маскировать эту задержку, устанавливая соединения с другими серверами до того, как браузер сделает это в свое время. Аудит «Избегайте дорогостоящих многократных круговых поездок к любому источнику» поможет вам найти возможности для использования rel=preconnect !

Когда задержка для ресурсов из разных источников уменьшается, пользователи заметят, что все происходит немного быстрее. Благодаря этому новому аудиту Lighthouse вы узнаете о новых возможностях использования rel=preconnect именно для этого.

Используйте форматы видео для анимированного контента

Анимированные GIF-файлы огромны и часто потребляют не менее нескольких сотен килобайт, если не несколько мегабайт данных. Если вы заботитесь о производительности загрузки, преобразование этих GIF-файлов в видео — это то, что вам нужно. К счастью, аудит использования видеоформатов для анимационного контента поможет вам.

Рисунок 9. Рекомендация конвертировать GIF в видео в Lighthouse.

Если на вашем сайте есть GIF-файлы размером более 100 КБ, этот аудит автоматически пометит их и направит вас к рекомендациям по преобразованию их в видео и встраиванию. Такие сайты, как Imgur, значительно улучшили скорость загрузки, преобразовав свои GIF-файлы в видео. Кроме того, если ваш сайт находится на тарифном плане хостинга с измеряемой пропускной способностью, одной только потенциальной экономии средств должно быть достаточно, чтобы убедить вас!

Во время загрузки веб-шрифтов весь текст остается видимым

Когда мы загружаем веб-шрифты для страниц, браузеры часто отображают невидимый текст, пока шрифт не загрузится. Это явление, известное как Flash of Invisible Text (FOIT)), может быть предпочтительным для вас с точки зрения дизайна, но на самом деле это проблема. Текст, заблокированный для отображения, не может быть прочитан до тех пор, пока он не отобразится и не станет видимым. При соединениях с высокой задержкой и/или высокой пропускной способностью это означает, что основная часть вашего взаимодействия с пользователем отсутствует. Это также может быть своего рода проблемой производительности восприятия, поскольку страница не отображает значимый контент так быстро, как могла бы. К счастью, аудит «Весь текст остается видимым во время загрузки веб-шрифтов» поможет вам найти возможности исправить это на вашем сайте!

Рис. 10. Lighthouse дает рекомендации по улучшению рендеринга шрифтов.

Если Lighthouse обнаружит в вашем приложении веб-шрифты, которые задерживают рендеринг текста, есть несколько возможных способов устранения проблемы. Вы можете управлять отрисовкой текста с помощью CSS-свойства font-display и/или API загрузки шрифтов. Если вы хотите копнуть глубже, прочтите Всеобъемлющее руководство по стратегиям загрузки шрифтов, отличное руководство Зака ​​Лезермана, которое является отличным ресурсом для оптимальной загрузки шрифтов.

Неминимизированный CSS и JavaScript

Минимизация была предложена с тех пор, как веб-производительность была важна, и на то есть веские причины. Это значительно уменьшает размер текстовых ресурсов, что, в свою очередь, хорошо сказывается на производительности загрузки. Однако эту оптимизацию легко упустить из виду, особенно если процессы сборки не позаботятся об этом за вас. Аудиты Minify CSS и Minify JavaScript составят список неминифицированных ресурсов, найденных на текущей странице. Оттуда вы можете предпринять действия, минимизировав эти файлы вручную или дополнив свою систему сборки, чтобы сделать это за вас.

Неиспользуемые правила CSS

По мере того, как сайт немного устаревает, неизбежно начинает накапливаться мусор, оставшийся от рефакторинга.Одним из таких источников хлама являются неиспользуемые правила CSS, которые больше не нужны для функционирования сайта, но по-прежнему потребляют пропускную способность. Для вашего удобства аудит неиспользуемых правил CSS показывает, какие ресурсы CSS на странице содержат неиспользуемый CSS.

Рисунок 11. Lighthouse со списком ресурсов CSS, содержащих неиспользуемые правила CSS.

Если Lighthouse обнаружит на странице неиспользуемый CSS, есть способы избавиться от него. UnCSS — одна из таких утилит, которая делает это за вас автоматически (хотя ее нужно использовать с осторожностью). Более ручной метод включает использование панели покрытия кода в DevTools. Однако помните, что неиспользуемый CSS на одной странице может понадобиться на другой. Другой подход может состоять в том, чтобы разделить ваш CSS на файлы, специфичные для шаблона, которые загружаются только при необходимости. Что бы вы ни решили сделать, Lighthouse будет рядом, чтобы сообщить вам, если ваш CSS-хлам станет слишком сложным.

Попробуйте Маяк!

Если вам нравятся эти новые аудиты, обновите Lighthouse и попробуйте их!

  • Расширение Lighthouse для Chrome должно обновляться автоматически, но вы можете обновить его вручную через chrome://extensions .
  • В DevTools вы можете запустить Lighthouse на панели аудита. Chrome обновляется до новой версии примерно каждые 6 недель, поэтому некоторые новые аудиты могут быть недоступны. Если вам не хочется использовать последние доступные аудиты, вы можете запустить последнюю версию кода Chrome, загрузив Chrome Canary.
  • Для пользователей Node: запустите npm update lighthouse или npm update lighthouse -g, если вы установили Lighthouse глобально.

Выражаем особую благодарность Кейси Баскес, Патрику Халсу, Эдди Османи и Винамрате Сингал за их ценные отзывы, которые значительно улучшили качество этой статьи.

Если не указано иное, содержимое этой страницы предоставляется по лицензии Creative Commons Attribution 4.0, а образцы кода — по лицензии Apache 2.0. Подробнее см. в Правилах сайта Google Developers. Java является зарегистрированным товарным знаком Oracle и/или ее дочерних компаний.

Читайте также: