无论如何可以使用 javascript 找到广告加载时间
is there anyway to find the ad loading time using javascript
我正在开展一个项目,我需要开始时间 发出广告请求,结束时间 广告完全加载。这样我就可以计算广告的延迟时间。我正在使用 google dfp 和 doubleclick.
更新:
我不想从 Phantomjs 等外部库调用我的网站。我想要一些 javascript 解决方案,以便我可以编辑我的 js 文件并获取广告加载的延迟时间。谢谢
尝试使用 PhantomJS。
这是一个无头浏览器。您可以像浏览器一样使用它,但可以通过编程方式从中获取信息。
PhantomJS、CasperJS,或者写一个节点脚本。如果您在浏览器中更临时地执行此操作,则在页面加载时打开网络选项卡应该会告诉您请求花费了多长时间。
描述基本方法,因为你没有给出任何代码。
在加载广告的函数中,设置一个包含当前毫秒数的变量(例如 startTime = Date.now())
然后根据您正在加载的媒体,您可以使用 onload 事件(用于图像)或用于视频、adio 等的 loadstart 和 loadeddata 事件。如果它是通过 XHR 调用的,那么您应该已经加载了事件将广告插入 dom。再次获取 Date.now() ,并从中减去开始时间。
这是你的加载时间。
我建议使用 chrome 开发工具。在浏览器中使用 cntr
+shift
+i
并导航至时间线或网络
您不能使用这些工具在您的 JS 代码中调用函数,但从您这边的速度来看,这是一个非常好的视图。
能否在发送请求前获取当前时间,在加载完成后获取当前时间并减去这些时间?
var timeAfter;
var timeBefore = new Date().getTime() / 1000;
//make requests //
function callBack(){
// Completely load ad//
timeAfter = new Date().getTime() / 1000;
}
var latency = timeAfter - timeBefore;
那是以秒为单位,但您可以玩数学游戏并得到毫秒数。
此问题的答案已在堆栈本身中可用。
请参考这些链接。这些可能是问题的答案。
Calculating Page Load Time In JavaScript
Page load time with JavaScript
What is the best way to measure Client Side page load times?
您可能正在寻找类似 chrome.webRequest API. AppNexus's Headerbid Expert Chrome extension is a great example of how this can be used to examine network traffic. You're probably going to need to roll your own pattern matchers for network traffic based on the demand side, but maybe you can get clever and parse "doubleclick.net" traffic to automate that process. Mozilla and IE 的东西,每个人都有自己的方法。
如果插件不是您要找的,那么您可以 overwrite request prototypes. You'll tend to find examples of this kind of code in javascript test tools, such as Sonin。在那里你通常还会找到计时的例子。
我正在开展一个项目,我需要开始时间 发出广告请求,结束时间 广告完全加载。这样我就可以计算广告的延迟时间。我正在使用 google dfp 和 doubleclick.
更新: 我不想从 Phantomjs 等外部库调用我的网站。我想要一些 javascript 解决方案,以便我可以编辑我的 js 文件并获取广告加载的延迟时间。谢谢
尝试使用 PhantomJS。
这是一个无头浏览器。您可以像浏览器一样使用它,但可以通过编程方式从中获取信息。
PhantomJS、CasperJS,或者写一个节点脚本。如果您在浏览器中更临时地执行此操作,则在页面加载时打开网络选项卡应该会告诉您请求花费了多长时间。
描述基本方法,因为你没有给出任何代码。
在加载广告的函数中,设置一个包含当前毫秒数的变量(例如 startTime = Date.now())
然后根据您正在加载的媒体,您可以使用 onload 事件(用于图像)或用于视频、adio 等的 loadstart 和 loadeddata 事件。如果它是通过 XHR 调用的,那么您应该已经加载了事件将广告插入 dom。再次获取 Date.now() ,并从中减去开始时间。
这是你的加载时间。
我建议使用 chrome 开发工具。在浏览器中使用 cntr
+shift
+i
并导航至时间线或网络
您不能使用这些工具在您的 JS 代码中调用函数,但从您这边的速度来看,这是一个非常好的视图。
能否在发送请求前获取当前时间,在加载完成后获取当前时间并减去这些时间?
var timeAfter;
var timeBefore = new Date().getTime() / 1000;
//make requests //
function callBack(){
// Completely load ad//
timeAfter = new Date().getTime() / 1000;
}
var latency = timeAfter - timeBefore;
那是以秒为单位,但您可以玩数学游戏并得到毫秒数。
此问题的答案已在堆栈本身中可用。
请参考这些链接。这些可能是问题的答案。
Calculating Page Load Time In JavaScript
Page load time with JavaScript
What is the best way to measure Client Side page load times?
您可能正在寻找类似 chrome.webRequest API. AppNexus's Headerbid Expert Chrome extension is a great example of how this can be used to examine network traffic. You're probably going to need to roll your own pattern matchers for network traffic based on the demand side, but maybe you can get clever and parse "doubleclick.net" traffic to automate that process. Mozilla and IE 的东西,每个人都有自己的方法。
如果插件不是您要找的,那么您可以 overwrite request prototypes. You'll tend to find examples of this kind of code in javascript test tools, such as Sonin。在那里你通常还会找到计时的例子。