Диаграмма работает только в chrome, а не в других браузерах - PullRequest
2 голосов
/ 25 февраля 2020

Я использую график кендо, чтобы показать формат времени. Мой код выглядит следующим образом, я следую их документации, чтобы сделать это. это следующим образом. Время отображения кендо на оси значений

<div id="chart"></div>
<script>

$( document ).ready(function() {
  var arry = [{"TimeSlot":"8:00 am","AssistedCount":0,"Abandons":0,"AvgWaitTime":12152},{"TimeSlot":"8:15 am","AssistedCount":0,"Abandons":0,"AvgWaitTime":13942},{"TimeSlot":"8:30 am","AssistedCount":0,"Abandons":0,"AvgWaitTime":0},{"TimeSlot":"8:45 am","AssistedCount":0,"Abandons":0,"AvgWaitTime":0},{"TimeSlot":"9:00 am","AssistedCount":0,"Abandons":0,"AvgWaitTime":0},{"TimeSlot":"9:15 am","AssistedCount":0,"Abandons":0,"AvgWaitTime":0},{"TimeSlot":"6:30 pm","AssistedCount":0,"Abandons":0,"AvgWaitTime":0},{"TimeSlot":"6:45 pm","AssistedCount":0,"Abandons":0,"AvgWaitTime":0},{"TimeSlot":"7:00 pm","AssistedCount":0,"Abandons":0,"AvgWaitTime":0}];

  $("#chart").kendoChart({

    series: [{
      data: arry.map(function (o,index) {
                    return new Date(secondsToHHMMSS(o.AvgWaitTime,index)).getTime();
                })
    }],
    valueAxis: {
      labels: {
        template: "#= kendo.format('{0:HH:mm:ss}', new Date(value)) #"
      },
      min: new Date("2020/03/01").getTime(),
      majorUnit: 20 * 60 * 1000 //
    },
    tooltip: {
      visible: true,
      template: "#= kendo.format('{0:HH:mm:ss}', new Date(value)) #"
    }
  });


function secondsToHHMMSS(totalSeconds, index) {
    var x = Math.round(totalSeconds);

    var milliseconds;
    if (index == 1) {
        milliseconds = ":01";
    } else {
        milliseconds = ":00";
    }
    var date = "2020/03/01 ";
    var value;

    var hours = Math.floor(x / 3600) < 10 ? ("00" + Math.floor(x / 3600)).slice(-2) : Math.floor(x / 3600);
    var minutes = ("00" + Math.floor((x % 3600) / 60)).slice(-2);
    var seconds = ("00" + (x % 3600) % 60).slice(-2);

    value = date + hours + ":" + minutes + ":" + seconds + milliseconds;
    console.log(value);
    return value;
}        
});

</script>

Приведенный выше код отлично работает с браузером Chrome. Но не работает в других браузерах. Может ли кто-нибудь сказать мне, что не так с моим кодом.

это как внутри заголовка

<head>
    <meta charset="utf-8"/>
    <title>Kendo UI Snippet</title>

    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/2020.1.114/styles/kendo.default-v2.min.css"/>

    <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
    <script src="https://kendo.cdn.telerik.com/2020.1.114/js/kendo.all.min.js"></script>
</head>
...