有没有一种方法可以通过单击事件多次运行Boomerang带宽由AKAMAI提供?

问题描述

当前,我有一个单击事件,当单击按钮时,该事件会运行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 (&#x00b1;" + 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 (&#x00b1;" + 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问题列表来获得更快的响应。