JavaScript - Измерение времени загрузки удаленных страниц - PullRequest
0 голосов
/ 25 декабря 2018

Я бы хотел, чтобы на моем сервере была очень простая страница, которая использует JS для измерения времени, необходимого для загрузки веб-страницы входа в систему на нескольких удаленных URL / серверах.Эти серверы расположены по всему миру, и я хотел бы измерить время, чтобы выбрать самый быстрый для моего местоположения (т. Е. Код будет запускаться на стороне клиента в браузере пользователя).

Пример:

server1.example.com: 200 мс

server2.example.com: 400 мс

server3.example.com: 2ms

Существует много программ, которые реализуют эту общую идею (от простого пинга до wget и т. д.), но я ищу код JS, который можно использовать на простой странице, которая будет пытаться выполнить эти запросы иотображать время.

Основной способ, который я пробовал до сих пор (простые запросы Ajax с использованием jQuery), не работает из-за ошибок CORS.Любые идеи для самого простого решения были бы великолепны.

1 Ответ

0 голосов
/ 25 декабря 2018

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

function ping(url) {
	var img = new Image(),
	start = Date.now();

	img.onload = function () {
		console.log(url, 'loaded in', Date.now() - start, 'ms');
	};

	img.src = url + '?' + Math.random();
	document.body.appendChild(img);
}

ping('https://facebook.com/favicon.ico');
ping('https://www.bing.com/favicon.ico');
ping('https://youtube.com/favicon.ico');

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

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