Как включить amCharts в HTML-страницу

Я изо всех сил пытаюсь развернуть amCharts на моей пользовательской веб-странице. Ниже приведена моя HTML-страница, на которой я пытался подключить amCharts, но безуспешно. Удивительно, но когда я открываю HTML-файл в Chrome, я вижу пустую страницу. Любой указатель на то, что мне не хватает, будет очень признателен.

<html>
  <head>
    <script src = "https://www.amcharts.com/lib/3/amcharts.js"></script>
    <script src = "https://www.amcharts.com/lib/3/serial.js"></script>
    <script src = "https://www.amcharts.com/lib/3/themes/light.js"></script>
    <script src = "https://www.amcharts.com/lib/3/lang/ru.js"></script>    
  </head>
  <body>
    <div id = "chartdiv"></div>
    <style type = "text/css">
        #chartdiv {
          width: 100%;
          height: 400px;
        }
</style>
    <script type = "text/javascript">
           var chartData = [{
        "date": "2013-01-01",
        "value": 60
      }, {
        "date": "2013-01-02",
        "value": 67
      }, {
        "date": "2013-01-03",
        "value": 64
      }, {
        "date": "2013-01-04",
        "value": 66
      }];

      var chart = AmCharts.makeChart("chartdiv", {
        "type": "serial",
        "theme": "light",
        "dataDateFormat": "YYYY-MM-DD",
        "valueAxes": [{
          "axisAlpha": 0,
          "position": "left"
        }],
        "graphs": [{
          "id": "g1",
          "bullet": "round",
          "bulletBorderAlpha": 1,
          "bulletColor": "#FFFFFF",
          "bulletSize": 5,
          "hideBulletsCount": 50,
          "lineThickness": 2,
          "title": "red line",
          "useLineColorForBulletBorder": true,
          "valueField": "value"
        }],
        "chartCursor": {
          "cursorPosition": "mouse"
        },
        "categoryField": "date",
        "categoryAxis": {
          "parseDates": true,
          "dashLength": 1,
          "minorGridEnabled": true,
          "position": "top"
        },
        "dataProvider": chartData
      });
    </script>
  </body>
</html>

Сценарий в разделе заголовка выполняется до того, как #chartdiv существует. Взгляните на консоль, возможно, вас ждет сообщение об ошибке.

Teemu 02.04.2018 18:22

@Teemu - изменил мой код, но на странице все еще нет отображения

Bogaso 02.04.2018 18:29
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
243
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Есть две проблемы

1) Как упоминалось в @Teemu, вы хотите либо поместить тег скрипта после #chartdiv, либо обернуть вызов makeChart в событие onload, которое выполняется после загрузки документа.

2) AmCharts требует, чтобы вы указали размеры для #chartdiv в CSS, например

<style type = "text/css">
#chartdiv {
  width: 100%;
  height: 400px;
}
</style>

Привет, xorspark, спасибо. Я изменил код на основе вашего предложения относительно CSS. Теперь он работает нормально.

Bogaso 02.04.2018 18:33

Удивительно, но я вижу, когда я развертываю свою страницу на сервере (включая локальный сервер, например, локальный: 8888 / page.html), amChart не отображается. (удален, следовательно, тег как полный). Я не уверен, требуются ли дополнительные настройки?

Bogaso 03.04.2018 12:12

О, я вижу, что виноват плагин под названием Privacy-Badger. Отключил это, и теперь он работает нормально

Bogaso 03.04.2018 12:22

Другие вопросы по теме