问题描述
当前,我有一个单击事件,当单击按钮时,该事件会运行boomerang带宽指标,但是我遇到的问题是,它将仅在第一次运行,直到刷新页面才运行。它无法多次运行,还是我丢失了某些东西?
我只想记录网络指标而已。
以下是REPO /文档的链接: https://akamai.github.io/boomerang/BOOMR.plugins.BW.html
这是点击事件:
$('#boomerangTest').on('click',function (event) {
debugger
//var pathname = window.location.pathname;
//var url = window.location.href;
//var origin = window.location.origin;
//var imageURL = origin + '';
var loc = window.location.pathname;
var dir = loc.substring(0,loc.lastIndexOf('/'));
var imageURL = dir + "/assets/images/boomr/"
var data = {
UserName: cb.Win.FindHandleID('#spanUserName').html().replace('Logged in as: ','')
};
data.UserName = data.UserName.substr(0,data.UserName.indexOf('(')).trim();
if (data.UserName === '') {
cb.Win.ErrDialog('Network Metrics','Please Login before running a network test');
}
else {
$('#main_content').cbAjaxLoader('big');
BOomr.init({
beacon_url: '',BW: {
base_url: imageURL,block_beacon: true,cookie: "AK_BW"
},RT: {
enabled: true,clearOnBeacon: true
}
});
BOomr.subscribe('before_beacon',function (o) {
debugger
var html = "",t_name,t_other,others = [],bandwidthMetrics = {};
if (!o.t_other) o.t_other = "";
for (var k in o) {
if (!k.match(/^(t_done|t_other|bw|lat|bw_err|lat_err|u|r2?)$/)) {
if (k.match(/^t_/)) {
o.t_other += "," + k + "|" + o[k];
}
else {
others.push(k + " = " + o[k]);
}
}
}
if (o.t_done) {
html += "This page took " + o.t_done + " ms to load<br>";
bandwidthMetrics.LoadDuration = o.t_done;
}
if (o.bw) {
html += "Your bandwidth to this server is " + parseInt(o.bw / 1024) + " kbps (±" + parseInt(o.bw_err * 100 / o.bw) + "%)<br>";
bandwidthMetrics.DownSpeed = parseInt(o.bw / 1024);
}
if (o.lat) {
html += "Your latency to this server is " + parseInt(o.lat) + " ms (±" + parseInt(o.lat_err * 100 / o.lat) + "%)<br>";
bandwidthMetrics.Latency = parseInt(o.lat);
}
cb.Win.ErrDialog('Network Metric Results',html,'main_content');
$('#main_content').cbAjaxLoaderRemove();
});
$('#main_content').cbAjaxLoaderRemove();
}
});
解决方法
boomerang将结果存储在cookie中,并且不会在同一网络上运行7天。如果您需要它来重新运行测试,请禁用BW cookie。
请注意,飞旋镖团队很少监视Stackoverflow,您可以通过直接发布到github问题列表来获得更快的响应。