В любом случае, чтобы найти время загрузки рекламы с помощью JavaScript
Я работаю над проектом, в котором мне нужно время начала, когда был сделан запрос объявления, и время окончания, когда объявление полностью загружено. Так что я могу вычислить время ожидания для рекламы. Я использую Google DFP и DoubleClick.
ОБНОВЛЕНИЕ: я не хочу звонить на мой сайт из внешней библиотеки, как Phantomjs . Мне нужно решение javascript, чтобы я мог редактировать свои js-файлы и получать время задержки для загрузки рекламы. Thanx
7 ответов
Не могли бы вы узнать текущее время непосредственно перед отправкой запроса и текущее время сразу после завершения загрузки и вычесть это время?
var timeAfter;
var timeBefore = new Date().getTime() / 1000;
//make requests //
function callBack(){
// Completely load ad//
timeAfter = new Date().getTime() / 1000;
}
var latency = timeAfter - timeBefore;
Это в секундах, но вы можете играть с математикой и получать миллисекунды.
Попробуйте использовать PhantomJS.
Это безголовый браузер. Вы можете использовать его как браузер, но программно и получать от него информацию.
PhantomJS, CasperJS или написать скрипт узла. Если вы делаете это больше в браузере, то вкладка сети, открытая при загрузке страницы, должна указывать, сколько времени потребовался запрос.
Опишите основной метод, так как вы не дали никакого кода.
В функции, которая загружает рекламу, установите переменную с текущими миллисекундами (например, startTime = Date.now())
Затем, в зависимости от медиа, которое вы загружаете, вы можете использовать событие onload (для изображений) или события loadstart и loadeddata для видео, adio и т. Д. Если он вызывается через XHR, то у вас уже должно быть событие load для вставки рекламы. в дом. Возьмите Date.now () еще раз и вычтите из него звездное время.
Там ваше время загрузки.
Я бы порекомендовал использовать инструменты Chrome Dev. использование cntr
+shift
+i
в вашем браузере и перейдите к временной шкале или сети
Вы не можете использовать инструменты для вызова функции в своем коде JS, но это довольно хороший взгляд на скорость вашей стороны.
Возможно, вы ищете что-то вроде API chrome.webRequest. Расширение AppNexus Headerbid Expert Chrome является отличным примером того, как его можно использовать для проверки сетевого трафика. Возможно, вам понадобится свернуть свои собственные сопоставители шаблонов для сетевого трафика на основе спроса, но, возможно, вы можете получить умный и проанализировать трафик "doubleclick.net", чтобы автоматизировать этот процесс. У Mozilla и IE есть свой способ сделать это.
Если плагин не то, что вы ищете, тогда вы можете просто перезаписать прототипы запросов. Вы будете стремиться найти примеры такого рода кода в инструментах тестирования javascript, таких как Sonin. Там вы также обычно найдете примеры хронометража.
Ответы на этот вопрос уже имеется в стеке.
Пожалуйста, обратитесь по этим ссылкам. надеюсь, это ответ на вопрос.
Расчет времени загрузки страницы в JavaScript
Время загрузки страницы с помощью JavaScript
Как лучше всего измерить время загрузки страницы на стороне клиента?