$().sparkline не является функцией (jQuery Sparklines)

В настоящее время я сталкиваюсь с проблемой при использовании пакета под названием jQuery Sparklines Гарета Уоттса. Есть ли у кого-нибудь опыт работы с этим пакетом? Он кажется довольно устаревшим, но некоторые люди все еще используют его здесь..

Я импортирую пакет через тег скрипта в представлении Flask, используя обычные теги скрипта:

<script src="/custom/css/JS/jquery-sparklines.js"></script>

И проверил консоль, чтобы убедиться, что jQuery также установлен и загружен прежде чем я загружу тег скрипта выше.

Я заметил проблему, когда пытался подражать примеру jFiddle в документации:

Я смог создать рабочую версию скрипки сам здесь, но только добавив jQuery 1.9.1 в раскрывающемся списке расширений, а затем переключите ползунок «Перенести 1.1.0» в разделе JS. картинка здесь

Даже если мой пример работает несколько И импортирует те же самые вещи в мой html, HTML не подхватывает пользовательскую функцию jQuery во внешнем коде и не получает:

$(...).sparkline is not a function

У кого-нибудь есть опыт работы с этой библиотекой? Я следил за документацией, но явно что-то упустил.

SOS : ( или, может быть, порекомендуете другие пакеты спарклайнов? :(

Большое спасибо за ваше время!

ОБНОВИТЬ:

По-прежнему не удается распознать код спарклайна с cdn вместо загруженных файлов : (


person Kevin Dasilva    schedule 19.07.2018    source источник
comment
Ошибка возникает, когда на вашей странице нет спарклайна. Пожалуйста, следите за запросами сети и убедитесь, что он загружается успешно.   -  person 31piy    schedule 19.07.2018
comment
Вы создаете script tag ПЕРЕД его использованием?   -  person Hearner    schedule 19.07.2018
comment
Обычно это происходит, если вы загружаете 2 версии jQuery....   -  person epascarello    schedule 19.07.2018
comment
@Hearner да, скрипт, который фактически вызывает функцию, является последним тегом скрипта на странице.   -  person Kevin Dasilva    schedule 19.07.2018
comment
@epascarello У меня есть только один тег сценария, и он выглядит так: <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha256-3edrmyuQ0w65f8gfBsqowzjJe2iM6n0nKciPUp8y+7E=" crossorigin="anonymous"></script> Это первый тег сценария в нижней части тега body.   -  person Kevin Dasilva    schedule 19.07.2018
comment
@ 31piy да .. Все 200 (успешно загружено, но я попробую еще раз с CDN, предложенным ниже)   -  person Kevin Dasilva    schedule 19.07.2018


Ответы (2)


Не знаю почему, но когда я поставил ссылку на спарклайн прямо перед тем, где я его использую, проблема исчезла.

Это выглядит как:

<script src="~/Scripts/sparkline/jquery.sparkline.js"></script>
<script type="text/javascript">
    var $jq = jQuery.noConflict();
    $jq(document).ready(function() {
        $jq(".sparkline_bar").sparkline([5,6,7,2,0,-4,-2,4], {
            type: 'bar'});
        //Some other things.
person cheny    schedule 17.01.2019

Решено:

У меня был код JS, который конфликтовал с кодом спарклайнов в тегах для инициализации строк.

Исправлено простой инициализацией строк ПЕРВЫМ перед любым другим материалом JS.

person Kevin Dasilva    schedule 23.07.2018