Как дождаться определения всех значений в window.performance.timing - PullRequest
0 голосов
/ 10 января 2019

В настоящее время я читаю значения в window.performance.timing в функции window.addEventListener('load', function () {...}). однако в сафари есть такие значения, как loadEventEnd, которые по-прежнему установлены на 0.

Как отложить мой вызов на window.performance.timing в лучшем случае на основе события, пока не будут определены это и другие значения?

1 Ответ

0 голосов
/ 16 мая 2019

Сделать дополнительную задержку в событии загрузки.

window.addEventListener('load', check)

function check() {
  if (performance.getEntriesByType("navigation")[0].loadEventEnd && other_values()) {
    callToPerformanceTiming()
  }
  else setTimeout(check, 0); //put it back in queue
}

Пока loadEventEnd равно 0, проверка повторяется.
Вы также можете проверить other_values(), чтобы быть очень уверенным
это передано, прежде чем вы callToPerformanceTiming()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...