У меня довольно старое веб-приложение, работающее на Prado 2.1RC1, и я пытаюсь улучшить его, добавив несколько хороших диаграмм визуализаций Google .
Проблема возникла в момент интеграции с Googlejsapi (это зависит от jquery) и старые библиотеки, используемые prado2.1.
Prado использует некоторые встроенные библиотеки (некоторые из них base.js , dom.js , ajax.js и т. д.) + прототип 1.4 .
В первый момент, когда я попытался интегрировать учебный пример В консоли chrome javascript зарегистрировано две ошибки.
Uncaught RangeError: Неверная длина массива в base.js: 524
Uncaught TypeError: undefined isне функция
Глядя на base.js Я обнаружил, что эти ошибки были вызваны ошибкой прототипа в функции сдвига (я думаю), потому что сдвиг реализован так:
shift function() {
var result = this[0];
for (var i = 0; i < this.length - 1; i++)
this[i] = this[i + 1];
this.length--;
return result;
}
Но когда this.length == 0, this.length-- взрывается.
Так что после исправления этой ошибки у меня была надежда, что в Google появятся хорошие графики ... Но нет.В консоли javascript не было выдано никакой ошибки, но я получил этот текст с красным фоном в div, где должна быть добавлена диаграмма Google:
число не является функцией
Я не имею понятия об этой ошибке.Я подозреваю, что в веб-приложении есть какая-то путаница с большим количеством библиотек javascript.
Я знаю, что ситуация не очень хорошая, учитывая, что я использую старую устаревшую не поддерживаемую версию Prado иПрототип.Но я очень n00b с php и с этой структурой.Я действительно не знаю, сколько времени мне потребуется, чтобы перейти на новую версию Prado для обновления библиотек javascript, и я даже знаю, смогу ли я это сделать.Может быть, некоторые из вас с большим опытом могут сказать мне, что лучше всего делать в этой ситуации или как мне действовать ...
Спасибо!И дайте мне знать, если вам нужно больше деталей в проблеме.