无论如何,使用javascript找到广告加载时间

时间:2016-09-16 12:00:21

标签: javascript google-dfp double-click-advertising

我正在开展一个项目,我需要在广告请求时开始时间,在广告完全加载时需要结束时间。这样我就可以计算广告的延迟时间。我正在使用 google dfp 双击

更新 我不想从像Phantomjs这样的外部图书馆打电话给我的网站。我想要一些javascript解决方案,以便我可以编辑我的js文件并获得广告加载的延迟时间。感谢名单

7 个答案:

答案 0 :(得分:3)

尝试使用PhantomJS。

它是一个无头浏览器。您可以像浏览器一样使用它,但是以编程方式从中获取信息。

答案 1 :(得分:2)

PhantomJS,CasperJS或编写节点脚本。如果您在浏览器中更专注地执行此操作,则在加载页面时打开网络选项卡应该告诉您请求需要多长时间。

答案 2 :(得分:2)

描述基本方法,因为你没有提供任何代码。

在加载广告的函数中,设置一个当前毫秒的变量(例如startTime = Date.now())

然后,根据您正在加载的媒体,您可以使用onload事件(用于图像)或loadstart和loadeddata事件用于视频,adio等。如果通过XHR调用,那么您应该已经有一个加载事件将广告插入dom。再次抓住Date.now(),并从中减去startime。

你有加载时间。

答案 3 :(得分:1)

我建议使用chrome dev工具。在浏览器中使用cntr + shift + i并导航至时间轴或网络

您无法使用这些工具调用JS代码中的函数,但它可以很好地了解您的速度。

答案 4 :(得分:1)

您可以在发送请求之前获得当前时间,并在完成加载后立即获取当前时间并减去这些时间吗?

var timeAfter;
var timeBefore = new Date().getTime() / 1000;
//make requests //
function callBack(){
    // Completely load ad//
    timeAfter = new Date().getTime() / 1000;
}
var latency = timeAfter - timeBefore;

这是几秒钟,但你可以玩数学并获得毫秒。

答案 5 :(得分:0)

此问题的答案已经可用于堆栈本身。

请参阅这些链接。那些可能有希望回答问题。

Calculating Page Load Time In JavaScript

Page load time with JavaScript

What is the best way to measure Client Side page load times?

答案 6 :(得分:0)

您可能正在寻找类似chrome.webRequest API的内容。 AppNexus的Headerbid Expert Chrome扩展程序是如何用于检查网络流量的一个很好的例子。您可能需要根据需求方式为网络流量推出自己的模式匹配器,但也许您可以聪明地解析“doubleclick.net”流量以自动执行该流程。 MozillaIE各自都有自己的方式。

如果插件不是您想要的,那么您只需overwrite request prototypes即可。您可能会在javascript测试工具中找到此类代码的示例,例如Sonin。在那里,您通常还会找到计时的例子。