Скорость сети сильно отличается от задержки загрузки веб-страницы, поскольку последняя включает множество других факторов, таких как время вычислений на стороне сервера, связанные запросы и кэширование, рендеринг, асинхронные элементы и т. Д.
На практикеСледующее решение будет проверять продолжительность между отправкой запроса GET и временем, когда тело ответа было полностью получено (но до того, как что-либо будет обработано или найдены какие-либо связанные активы).Я использую инфраструктуру jQuery , чтобы несколько упростить процесс создания XHR, хотя вы можете свободно использовать альтернативную реализацию.
// prepare the XHR object
$.ajax({
beforeSend: function(){
// right before firing off the request, create a global object that includes the request send time
window.startTime = new Date();
},
// send the request to the root URI of this host
url: '/',
success: function(){
// once the request comes back, record the end time
window.endTime = new Date();
// take the difference, which will yield a number in milliseconds, and print it out
document.write(window.endTime - window.startTime + " ms");
}
});
Источник: http://jsfiddle.net/5h4GZ/
Просто добавьте это в тег <script>
на странице, и все готово.Измените вызов document.write
, чтобы поместить его в более заметное место.Кроме того, не стесняйтесь вставлять последующий вызов в веб-службу мониторинга, чтобы записать его в базу данных.
Существует множество учебных пособий по геолокации в Интернете, поэтому подойдет любой из них.Вы можете извлечь выгоду из API геолокации, но, скорее всего, у вас все получится, просто сделав это по IP-адресу, поскольку это на самом деле более важно для ваших нужд.Для этого существует множество онлайн-сервисов, которые дадут вам геолокацию на основе IP.Конечно, все это может быть сделано на стороне сервера, поэтому точная реализация будет зависеть от ваших технологий.